Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
158
Добавлен:
19.02.2016
Размер:
5.19 Mб
Скачать

Глава 5.

ОСОБЕННОСТИ ПРИМЕНЕНИЯ АЛГОРИТМА ГОСТ 28147-89

Основное в этой главе…

Криптоэквивалентная схема алгоритма ГОСТ 28147-89.………....69

Влияние блока подстановки на последовательности выходов итераций……………………….…...….70

68 Глава 5. ОСОБЕННОСТИ ПРИМЕНЕНИЯ АЛГОРИТМА ГОСТ 28147-89

Алгоритм криптографического преобразования, установленный ГОСТ 28147-89, используется для зашифрования данных в двух режимах, а также для выработки имитовставки [13].

При зашифровании данных ГОСТ сводится к шифру блочного гаммирования с длиной блока в 64 бита. Гамма накладывается поразрядно по модулю два.

Основная задача каждого из режимов гаммирования - формирование 64- х битовых блоков для входа в блочный шифр - основной режим работы ГОСТ, называемый режимом простой замены (далее -GA).

Для шифрования каждой криптограммы вырабатывается 64-х битовый несекретный псевдослучайный блок S, называемый синхропосылкой. Этот блок служит параметром в ходе некоторых итеративных преобразований.

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

Ключи необходимы для работы ГОСТ именно в этом режиме.

Имеется два типа ключей: долговременный - K и сеансовый – X, размером 512 и 256 битов соответственно. Ключ K реализует потетрадную замену 32-разрядных подблоков в 32-х разрядные и состоит из 8 узлов:

K = (K1,KK8 ). В стандарте долговременный ключ называется блоком подстановки K.

Узел Ki является таблицей замены для i-ой (слева) тетрады, т.е. состоит из 16 тетрад. Ключ X состоит из конкатенации восьми 32-х разрядных подключей: X = X0 ,K, X7 , каждый из которых в соответствующий момент суммируется с некоторым подблоком по модулю 232 (операция +).

Зашифрование блока в режиме простой замены представляет собой реализацию т.н. блочного шифра типа Фейстеля и состоит из 32 циклов. На каждом цикле происходит преобразование 64-х битового блока в 64-х битовый.

t(i)

Влияние блока подстановки на последовательность выходов итераций 69

Результатом зашифрования является результат работы (выход) тридцать второго цикла, подвергнутый дополнительному преобразованию (перестановка подблоков, т.е. половинок блоков, местами).

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

5.1. Криптоэквивалентная схема алгоритма ГОСТ 28147-89

Криптоэквивалентным образом процесс простой замены блока S на блок T можно представить в виде последовательности тридцати четырех подблоков размером 32 бита каждый:

u = (U 2 ,U 1 ,U 0 ,U1 ,U 2 ,K,U 30 ,U 31 ), U 2 U 1 = S , U 31 U 30 = T .

Здесь Ui1 Ui - результат работы цикла номер i. Дополнительное преобразование меняет порядок подблоков в выходном блоке цикла номер 31.

Элементы последовательности u связаны цепной зависимостью вида

~

(i = 0,1,K,31), где - поразрядное сложение подблоков по

Ui2 Ui1 =Ui

модулю два.

 

 

 

 

~

 

означает, что подблок Ui1

модифицируется

с помощью

Запись Ui1

преобразования,

 

~

= Fi (Ui1 ), где Fi

зависит от

 

зависящего от i. Точнее, Ui1

параметров, используемых в цикле с номером i .

Каждая из функций Fi использует ключ K и некоторый подключ сеансового ключа Xt(i ), где - последовательность выбора подключей:

t(i)= (0,1K7, 0,1K7, 0,1K7, 7,6K1,0).

Преобразование ~i1 = i ( i1 ) заключается в вычислении подблока

U F U

Ui*1 =Ui1 + Xt(i ) mod232 , замене каждой тетрады подблока Ui*1 с помощью