Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Отечественный стандарт шифрования данных



В нашей стране установлен единый алгоритм криптографического преобразования данных для систем обработки информации в сетях ЭВМ, отдельных вычислительных комплексах и ЭВМ, который определяется ГОСТ 28147-89. Стандартобязателен для организаций, предприятий и учреждений, применяющих криптографическую защиту данных, хранимых и передаваемых в сетях ЭВМ, в отдельных вычислительных комплексах и ЭВМ.

Этот алгоритм криптографического преобразования данных предназначен для аппаратной и программной реализации, удовлетворяет криптографическим требованиям и не накладывает ограничений на степень секретности защищаемой информации. Алгоритм шифрования данных представляет собой 64 - битовый блочный алгоритм с 256 - битовымключом.

При описании алгоритма используются следующие обозначения:

L и R – последовательности битов;

LR – конкатенация последовательностей L и R, в которой биты последовательности R следуют за битами последовательности L;

Å – операция побитового сложения по модулю 2;

⊞ – операция сложения по модулю 232 двух 32-разрядных двоичных чисел;

⊞´– операция сложения двух 32-разрядных чисел по модулю 232 –1.

Два целых числа a, b, где 0 £ a, b £ 232 –1,

a= (a32a31... a2a1), b = (b32, b31,..., b2, b1),

представленные в двоичном виде, т.е.

a= a32×231 + a31×230 +...+ a2×21 + a1,

b = b32×231 + b31×230 +...+ b2×21 + b1,

суммируются по модулю 232 (операция ⊞) по следующему правилу:

a ⊞ b = a + b, если a + b < 232,

a ⊞ b = a + b – 232, если a + b ³ 232.

Правила суммирования чисел по модулю 232 – 1:

a ⊞´ b = a + b, если a + b < 232– 1,

a ⊞´ b = a + b – (232 – 1), если a + b ³ 232 – 1.

Алгоритм предусматривает четыре режима работы:

· шифрование данных в режиме простой замены;

· шифрование данных в режиме гаммирования;

· шифрование данных в режиме гаммирования с обратной связью;

· выработка имитовставки.

Режим простой замены. Для реализации алгоритма шифрования данных в режиме простой замены используется только часть блоков общей криптосистемы (рис.3.11). Обозначения на схеме:

N1, N2 – 32-разрядные накопители;

СМ1 – 32-разрядный сумматор по модулю 232 (⊞);

СМ2 – 32-разрядный сумматор по модулю 2 (Å);

R – 32-разрядный регистр циклического сдвига;

КЗУ – ключевое запоминающее устройство на 256 бит, состоящее из восьми 32-разрядных накопителей Х0, Х1, Х2,..., Х7;

S – блок подстановки, состоящий из восьми узлов замены (S-блоков замены) S1, S2, S3,..., S7, S8.

Зашифрование открытых данных в режиме простой замены (рис.10). Открытые данные, подлежащие зашифрованию, разбивают на 64-разрядные блоки Т0. Процедура зашифрования 64-разрядного блока Т0 в режиме простой замены включает 32 цикла (j {1,…,32}). В ключевое запоминающее устройство вводят 256 бит ключа К в виде восьми 32-разрядных подключей (чисел) Кi:

К=К7К6К5К4К3К2К1К0.

Последовательность битов блока

Т0=(a1(0), a2(0),..., a31(0), a32(0), b1(0), b2(0),..., b31(0), b32(0))

разбивают на две последовательности по 32 бита: b(0) a(0), где b(0) – левые или старшие биты, a(0) – правые или младшие биты.

 
 


Рис. 10. Схема реализации режима простой замены

Эти последовательности вводят в накопители N1 и N2 перед началом первого цикла зашифрования. В результате начальное заполнение накопителя N1

a (0) = (a32(0), a31(0),..., a2(0), a1(0)),

32, 31,... 2, 1 номер разряда N1

начальное заполнение накопителя N2

b(0) = (b32(0), b31(0),..., b2(0), b1(0)).

32, 31,... 2, 1 номер разряда N2

Первый цикл (j=1) процедуры зашифрования 64-разрядного блока открытых данных можно описать уравнениями:

Здесь a (1) – заполнение N1 после 1-го цикла зашифровaния; b (1) – заполнение N2 после 1-го цикла зашифрования; f функция шифрования.

Аргументом функции f является сумма по модулю 232 числа a(0) (начального заполнения накопителя N1) и числа К0 – подключа, считываемого из накопителя Х0 КЗУ. Каждое из этих чисел равно 32 битам. Функция f включает две операции над полученной 32-разрядной суммой (a (0) ⊞ К0).

Перваяоперация называется подстановкой (заменой) и выполняется блокомподстановкиS. Блок подстановки S состоит из восьми узлов замены (S-блоков замены) S1,S2,...,S8 с памятью 64 бит каждый. Поступающий из СМ1 на блок подстановки S 32-разрядный вектор разбивают на восемь последовательно идущих 4-разрядных векторов, каждый из которых преобразуется в четырехразрядный вектор соответствующим узлом замены. Каждый узел замены можно представить в виде таблицы-перестановки шестнадцати четырехразрядных двоичных чисел в диапазоне 0000…1111. Входной вектор указывает адрес строки в таблице, а число в этой строке является выходным вектором. Затем четырехразрядные выходные векторы последовательно объединяют в 32-разрядный вектор. Узлы замены (таблицы-перестановки) представляют собой ключевые элементы, которые являются общими для сети ЭВМ и редко изменяются. Эти узлы замены должны сохраняться в секрете.

Втораяоперация – циклический сдвиг влево (на 11 разрядов) 32-разрядного вектора, полученного с выхода блока подстановки S. Циклический сдвиг выполняется регистром сдвига R.

Далее результат работы функции шифрования f суммируют поразрядно по модулю 2 в сумматоре СМ2 с 32-разрядным начальным заполнением b(0) накопителя N2. Затем полученный на выходе СМ2 результат (значение a(1)) записывают в накопитель N1, а старое значение N1 (значение a(0)) переписывают в накопитель N2 (значение b(1) = a(0)). Первый цикл завершен.

Последующие циклы осуществляются аналогично, при этом во втором цикле из КЗУ считывают заполнение Х1 – подключ К1, в третьем цикле – подключ К2 и т.д., в восьмом цикле – подключ К7. В циклах с 9-го по 16-й, а также в циклах с 17-го по 24-й подключи из КЗУ считываются в том же порядке: К0, К1, К2,...,К6, К7. В последних восьми циклах с 25-го по 32-й порядок считывания подключей из КЗУ обратный: К7, К6,..., К2, К1, К0. Таким образом, при зашифровании в 32 циклах осуществляется следующий порядок выборки из КЗУ подключей:

К0, К1, К2, К3, К4, К5, К6, К7, К0, К1, К2, К3, К4, К5, К6, К7,

К0, К1, К2, К3, К4, К5, К6, К7, К7, К6, К5, К4, К3, К2, К1, К0.

В 32-м цикле результат из сумматора СМ2 вводится в накопитель N2, а в накопителе N1 сохраняется прежнее заполнение. Полученные после 32-го цикла зашифрования заполнения накопителей N1 и N2 являются блоком зашифрованных данных Тш, соответствующим блоку открытых данных Т0.

Уравнения зашифрования в режиме простой замены имеют вид:

при j {1,…,24},

при j {25,…,31},

при j=32

где a (j) = (a32(j), a31(j),..., a1(j)) – заполнение N1 после j-го цикла зашифрования;

b (j) = (b32(j), b31(j),..., b1(j)) – заполнение N2 после j-го цикла зашифрования, j {1,…,32}.

Блок зашифрованных данных Тш (64 разряда) выводится из накопителей N1, N2 в следующем порядке: из разрядов 1…32 накопителя N1, затем из разрядов 1…32 накопителя N2, т.е. начиная с младших разрядов:

Тш = (a1(32), a2(32),..., a32(32), b1(32), b2(32),..., b32(32)).

Остальные блоки открытых данных зашифровываются в режиме простой замены аналогично.

Расшифрование в режиме простой замены. Криптосхема, реализующая алгоритм расшифрования в режиме простой замены, имеет тот же вид, что и при зашифровании (см. рис. 11).

В КЗУ вводят 256 бит ключа, на котором осуществлялось зашифрование. Зашифрованные данные, подлежащие расшифрованию, разбиты на блоки Тш по 64 бита в каждом. Ввод любого блока

Тш = (a1(32), a2(32),..., a32(32), b1(32), b2(32),..., b32(32))

в накопители N1 и N2 производят так, чтобы начальное значение накопителя N1 имело вид

(a32(32), a31(32),..., a2(32), a1(32)),

32, 31,..., 2, 1 номер разряда N1

а начальное заполнение накопителя N2 – вид

(b32(32), b31(32),..., b2(32), b1(32)).

32, 31,..., 2, 1 номер разряда N2

Расшифрование осуществляется по тому же алгоритму, что и зашифрование, с тем изменением, что заполнения накопителей X0, Х1,..., Х7 считываются из КЗУ в циклах расшифрования в следующем порядке:

К0, К1, К2, К3, К4, К5, К6, К7, К7, К6, К5, К4, К3, К2, К1, К0,

К7, К6, К5, К4, К3, К2, К1, К0, К7, К6, К5, К4, К3, К2, К1, К0.

Уравнения расшифрования имеют вид:

при j {1,…,8};

при j {9,…,31};

при j=32.

Полученные после 32 циклов работы заполнения накопителей N1 и N2 образуют блок открытых данных

Т0 = (a1(0), a2(0),..., a32(0), b1(0), b2(0),..., b32(0)),

соответствующий блоку зашифрованных данных Тш. При этом состояние накопителя N1

(a32(0), a31(0),..., a2(0), a1(0)),

32, 31,..., 2, 1 номер разряда N1

состояние накопителя N2

(b32(0), b31(0),..., b2(0), b1(0)).

32, 31,..., 2, 1 номер разряда N2

Аналогично расшифровываются остальные блоки зашифрованных данных.

Если алгоритм зашифрования в режиме простой замены 64-битового блока Т0 обозначить через А, то

А(Т0) = А(a (0), b(0)) = (a (32), b(32))=Тш.

Следует иметь в виду, что режим простой замены допустимо использовать для шифрования данных только в ограниченных случаях – при выработке ключа и зашифровании его с обеспечением имитозащиты для передачи по каналам связи или для хранения в памяти ЭВМ.

Зашифрование открытых данных в режиме гаммирования. Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования, показана на рис. 11. Открытые данные разбивают на 64-разрядные блоки

Т0(1), Т0(2),..., Т0(i),..., Т0(m),

где Т0(i) – i-й 64-разрядный блок открытых данных, i {1,…,m}, m определяется объемом шифруемых данных.

Рис. 11. Схема реализации режима гаммирования

Эти блоки поочередно зашифровываются в режиме гаммирования путем поразрядного сложения по модулю 2 в сумматоре СМ5 с гаммой шифра Гш, которая вырабатывается блоками по 64 бита, т.е.

Гш=(Гш(1), Гш(2),..., Гш(i), Гш(m)),

где Гш(i) – i-й 64-разрядный блок, i {1,…,m}.

Число двоичных разрядов в блоке Т0(m) может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока Гш(m) отбрасывается.

Уравнение зашифрования данных в режиме гаммирования имеет вид

Тш(i) = Т0(i) Å Гш(i),

где Гш(i)=А(Yi–1 ⊞ C2, Zi–1 ⊞´C1),i {1,…,m}; Тш(i) – i-й блок 64-разрядного блока зашифрованного текста; А(·) – функция зашифрования в режиме простой замены; С1, С2 – 32-разрядные двоичные константы; Yi, Zi– 32-разрядные двоичные последовательности.

Величины Yi, Zi определяются итерационно по мере формирования гаммы Гш следующим образом:

(Y0, Z0) = А (),

где – синхропосылка (64-разрядная двоичная последовательность),

(Yi, Zi) = (Yi–1 ⊞ С2, Zi–1 ⊞ C1), i {1,…,m}.

Рассмотрим реализацию процедуры зашифрования в режиме гаммирования.
В накопители N6 и N5 заранее записаны 32-разрядные двоичные константы С1 и С2, имеющие следующие значения (в шестнадцатеричной форме):

С1 = 01010104(16), С2 = 01010101(16).

В КЗУ вводится 256 бит ключа; в накопители N1 и N2 – 64-разрядная двоичная последовательность (синхропосылка)

= (S1, S2,..., S64).

Синхропосылка является исходным заполнением накопителей N1 и N2 для последовательной выработки m блоков гаммы шифра.

Исходное заполнение накопителя N1:

(S32, S31,...,S2, S1);

32, 31,..., 2, 1 номер разряда N1

исходное заполнение накопителя N2:

(S64, S63,..., S34, S33).

64, 63,..., 34, 33 номер разряда N2

Исходное заполнение N1 и N2 (синхропосылка ) зашифровывается в режиме простой замены. Результат зашифрования

A() = (Y0, Z0)

переписывается в 32-разрядные накопители N3 и N4 так, что заполнение N1 переписывается в N3, а заполнение N2 – в N4.

Заполнение накопителя N4 суммируют по модулю (232 –1) в сумматоре СМ4 с 32-разрядной константой С1 из накопителя N6. Результат записывается в N4. Заполнение накопителя N3 суммируется по модулю 232 в сумматоре СМ3 с 32-разрядной константой С2 из накопителя N5. Результат записывается в N3. Заполнение N3 переписывают в N1, а заполнение N4 – в N2, при этом заполнения N3, N4 сохраняются. Заполнение накопителей N1 и N2 зашифровывается в режиме простой замены.

Полученное в результате зашифрования заполнение накопителей N1, N2 образует первый 64-разрядный блок гаммы шифра Гш(1)=(g1(1), g2(1),..., g63(1), g64(1)), который суммируют поразрядно по модулю 2 в сумматоре СМ5 с первым 64-разрядным блоком открытых данных

Т0(1) = (t1(1), t2(1),..., t63(1), t64(1)).

В результате суммирования по модулю 2 значений Гш(1) и Т0(1) получают первый 64-разрядный блок зашифрованнных данных:

Тш(1) = Гш(1) Å Т0(1) = (t1(1), t2(1),..., t63(1), t64(1)),

где ti(1) = ti(1) Å gi(1), i {1,…,64}.

Для получения следующего 64-разрядного блока гаммы шифра Гш(2) заполнение N4 суммируется по модулю (232 –1) в сумматоре СМ4 с константой С1 из N6. Результат записывается в N4. Заполнение N3 суммируется по модулю 232 в сумматоре СМ3 с константой С2 из N5. Результат записывается в N3. Новое заполнение N3 переписывают в N1, а новое заполнение N4 – в N2 , при этом заполнения N3 и N4 сохраняют. Заполнения N1, N2 зашифровывают в режиме простой замены.

Полученное в результате зашифрования заполнение накопителей N1 и N2 образует второй 64-разрядный блок гаммы шифра Гш(2), который суммируется поразрядно по модулю 2 в сумматоре СМ5 со вторым блоком открытых данных Т0(2):

Тш(2) = Гш(2) Å Т0(2).

Аналогично вырабатываются блоки гаммы шифра Гш(3), Гш(4),..., Гш(m) и зашифровываются блоки открытых данных Т0(3), Т0(4),..., Т0(m).

В канал связи или память ЭВМ передаются синхропосылка и блоки зашифрованных данных Тш(1), Тш(2),..., Тш(m).

Расшифрование в режиме гаммирования. При расшифровании криптосхема имеет тот же вид, что и при зашифровании (см. рис. 11).

Уравнение расшифрования:

Т0(i) = Тш(i) Å Гш(i) = Tш(i) Å A (Yi–1 ⊞ C2, Zi–1 ⊞´ C1), i {1,…,m}.

Следует отметить, что расшифрование данных возможно только при наличии синхропосылки, которая не является секретным элементом шифра и может храниться в памяти ЭВМ или передаваться по каналам связи вместе с зашифрованными данными.

Рассмотрим реализацию процедуры расшифрования. В КЗУ вводят 256 бит ключа, с помощью которого осуществляется зашифрование данных Т0(1), Т0(2),..., Т0(m). В накопители N1 и N2 вводится синхропосылка, и осуществляется процесс выработки m блоков гаммы шифра Гш(1), Гш(2),..., Гш(m). Блоки зашифрованных данных Тш(1), Тш(2),..., Тш(m) суммируются поразрядно по модулю 2 в сумматоре СМ5 с блоками гаммы шифра Гш(1),..., Гш(m). В результате получаются блоки открытых данных

Т0(1), Т0(2),..., Т0(m);

при этом Т0(m) может содержать меньше 64 разрядов.

Режим гаммирования с обратной связью. Зашифрование открытых данных в режиме гаммирования с обратной связью. Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования с обратной связью, имеет вид, показанный на рис. 12.

Открытые данные, разбитые на 64-разрядные блоки Т0(1), Т0(2),..., Т0(m), зашифровываются в режиме гаммирования с обратной связью путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бита:

Гш = (Гш(1), Гш(2),..., Гш(m)).

Число двоичных разрядов в блоке Т0(m) может быть меньше 64, при этом неиспользованная для шифрования часть гаммы шифра из блока Гш(m) отбрасывается.

Уравнения зашифрования в режиме гаммирования с обратной связью имеют вид:

Тш(1) = А () Å Т0(1) = Гш(1) Å Т0(1),

Тш(i) = A (Тш(i–1)) Å Т0(i) = Гш(i) Å Т0(i), i {2,…,m}.

Рис. 12. Схема реализации режима гаммирования с обратной связью

Здесь Тш(i) – i-й 64-разрядный блок зашифрованного текста; А(·) – функция зашифрования в режиме простой замены; m – определяется объемом открытых данных.

Аргументом функции А (·) на первом шаге итеративного алгоритма является 64-разрядная синхропосылка , а на всех последующих шагах – предыдущий блок зашифрованных данных Тш(i–1).

Процедура зашифрования данных в режиме гаммирования с обратной связью реализуется следующим образом. В КЗУ вводятся 256 бит ключа. В накопители N1 и N2 вводится синхро-посылка = (S1, S2,..., S64) из 64 бит. Исходное заполнение накопителей N1 и N2 зашифровывается в режиме простой замены. Полученное в результате зашифрования заполнение накопителей N1 и N2 образует первый 64-разрядный блок гаммы шифра Гш(1)=A(), который суммируется поразрядно по модулю 2 в сумматоре СМ5 с первым 64-разрядным блоком открытых данных

Т0(1) = (t1(1), t2(1),..., t64(1)).

В результате получают первый 64-разрядный блок зашифрованных данных

ТШ(1) = ГШ(1) Å Т0(1),

где ТШ(1) = (t1(1), t2(1),..., t64(1)).

Блок зашифрованных данных ТШ(1) одновременно является также исходным состоянием накопителей N1, N2 для выработки второго блока гаммы шифра ГШ(2), и поэтому по обратной связи ТШ(1) записывается в указанные накопители N1 и N2.

Заполнение накопителя N1

(t32(1), t31(1),..., t2(1), t1(1)).

32, 31,..., 2, 1 номер разряда N1

Заполнение накопителя N2

(t64(1), t63(1),..., t34(1), t33(1)).

32, 31,..., 2, 1 номер разряда N2

Заполнение накопителей N1 и N2 зашифровывается в режиме простой замены.
Полученное в результате зашифрования заполнение накопителей N1 и N2 образует второй 64-разрядный блок гаммы шифра ГШ(2), который суммируется поразрядно по модулю 2 в сумматоре СМ5 со вторым блоком открытых данных Т0(2):

ГШ(2) Å Т0(2) = ТШ(2).

Выработка последующих блоков гаммы шифра ГШ(i) и зашифрование соответствующих блоков открытых данных Т0(i) (i {3…m}) производится аналогично.

Если длина последнего m-го блока открытых данных Т0(m) меньше 64 разрядов, то из ГШ(m) используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются.

В канал связи или память ЭВМ передаются синхропосылка и блоки зашифрованных данных ТШ(1), ТШ(2),..., ТШ(m).

Расшифрование в режиме гаммирования с обратной связью. При расшифровании криптосхема имеет тот же вид, что и при зашифровании. Уравнения расшифрования:

Т0(1) = А() Å Тш(1) = Гш(1) Å Тш(1),

Т0(i) = Гш(i) Å Тш(i) = A (Тш(i–1) ) Å Тш(i), i {2…m}.

Реализация процедуры расшифрования зашифрованных данных в режиме гаммирования с обратной связью происходит следующим образом. В КЗУ вводят 256 бит того же ключа, на котором осуществлялось зашифрование открытых блоков Т0(1), Т0(2),..., Т0(m). В накопители N1 и N2 вводится синхропосылка . Исходное заполнение накопителей N1 и N2 (синхропосылка ) зашифровывается в режиме простой замены. Полученное в результате зашифрования заполнение N1 и N2 образует первый блок гаммы шифра

ГШ(1) = А(),

который суммируется поразрядно по модулю 2 в сумматоре СМ5 с блоком зашифрованных данных ТШ(1).

В результате получается первый блок открытых данных

Т0(1) = Гш(1) Å Тш(1).

Блок зашифрованных данных Тш(1) является исходным заполнением накопителей N1 и N2 для выработки второго блока гаммы шифра ГШ(2): ГШ(2) = А(ТШ(1)). Полученное заполнение накопителей N1 и N2 зашифровывается в режиме простой замены. Образованный в результате зашифрования блок ГШ(2) суммируется поразрядно по модулю 2 в сумматоре СМ5 со вторым блоком зашифрованных данных ТШ(2). В результате получают второй блок открытых данных. Аналогично в N1, N2 последовательно записывают блоки зашифрованных данных ТШ(2), ТШ(3),..., ТШ(m), из которых в режиме простой замены вырабатываются блоки гаммы шифра ГШ(3), ГШ(4),..., ГШ(m).

Блоки гаммы шифра суммируются поразрядно по модулю 2 в сумматоре СМ5
с блоками зашифрованных данных ТШ(3)Ш(4),..., ТШ(m).

В результате получают блоки открытых данных

Т0(3), Т0(4),..., Т0(m),

при этом последний блок открытых данных Т0(m) может содержать меньше 64 разрядов.

Режим выработки имитовставки. Имитовставка – это блок из Р бит, который вырабатывают по определенному правилу из открытых данных с использованием ключа и затем добавляют к зашифрованным данным для обеспечения их имитозащиты.

Имитозащита – это защита системы шифрованной связи от навязывания ложных данных.

В стандарте ГОСТ 28147-89 определяется процесс выработки имитовставки, который единообразен для любого из режимов шифрования данных. Имитовставка Ир вырабатывается из блоков открытых данных либо перед шифрованием всего сообщения, либо параллельно с шифрованием по блокам. Первые блоки открытых данных, которые участвуют в выработке имитовставки, могут содержать служебную информацию (например, адресную часть, время, синхропосылку) и не зашифровываются.

Значение параметра Р (число двоичных разрядов в имитовставке) определяется криптографическими требованиями с учетом того, что вероятность навязывания ложных помех равна 1/2р.

Для выработки имитовставки открытые данные представляют в виде последовательности 64-разрядных блоков Т0(i), i {1,…,m}.

Первый блок открытых данных Т0(1) подвергают преобразованию (·), соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены. В качестве ключа для выработки имитовставки используют ключ длиной 256 бит, по которому шифруют данные.

Полученное после 16 циклов 64-разрядное число 0(1)) суммируют по модулю 2 со вторым блоком открытых данных Т0(2). Результат суммирования (0(1)) Å Т0(2)) снова подвергают преобразованию (·).

Полученное 64-разрядное число (0(1)) Å Т0(2)) суммируют по модулю 2 с третьим блоком Т0(3) и снова подвергают преобразованию (·), получая 64-разрядное число ( (0(1)) Å Т0(2)) Å Т0(3)), и т.д.

Последний блок Т0(m) (при необходимости дополненный нулями до полного 64-разрядного блока) суммируют по модулю 2 с результатом вычислений на шаге (m–1), после чего зашифровывают в режиме простой замены, используя преобразование (·).

Из полученного 64-разрядного числа выбирают отрезок Ир (имитовставку) длиной Р бит:

Ир = [a(m)32–p+1(16), a(m)32–p+2(16),..., a(m)32(16)],

где ai(m) – i-й бит 64-разрядного числа, полученного после 16-го цикла последнего преобразования (·), 32 – р + 1 £ i £ 32.

Имитовставка Ир передается по каналу связи или в память ЭВМ в конце зашифрованных данных, т.е.

Тш(1), Тш(2),..., Тш(m), Ир.

Поступившие к получателю зашифрованные данные

Тш(1), Тш(2),..., Тш(m)

расшифровываются, и из полученных блоков открытых данных Т0(1), Т0(2),..., Т0(m) аналогичным образом вырабатывается имитовставка Ир¢. Эта имитовставка Ир¢ сравнивается с имитовставкой Ир, полученной вместе с зашифрованными данными из канала связи или из памяти ЭВМ. В случае несовпадения имитовставок полученные при расшифровании блоки открытых данных Т0(1), Т0(2),..., Т0(m) считают ложными.

Сравнивая схемы DES и ГОСТ, следует заметить, что они очень похожи, но есть и отличия:

- в ГОСТе проводится в 2 раза большее число итераций, определяющих криптографическую сложность результирующих преобразований;

- в ГОСТе существенно больше ключей (256=6.4×1016 вариантов ключевых установок в DES и 2256= 6.4×1076 ключевых установок в ГОСТ).

Обе схемы не являются теоретически стойкими. При достаточном количестве шифрованного текста тотальным методом, т.е. перебором всех ключей, проведением пробного расшифрования и отсева по статистическим критериям ложных вариантов получаемого открытого текста можно найти ключ для обоих шифров.


Глава 3.





Дата публикования: 2015-02-22; Прочитано: 486 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.077 с)...