ГОСТ 28147-89
Системы обработки информации
Защита криптографическая
Алгоритм криптографического преобразования
Взамен вводится:
ГОСТ 34.12-2018 в части раздела 1 «Структурная схема алгоритма криптографического преобразования»;
ГОСТ 34.13-2018 в части раздела 2 «Режим простой замены»; раздела 3 «Режим гаммирования»; раздела 4 «Режим гаммирования с обратной связью»; раздела 5 «Режим выработки имитовставки»
Оглавление
1. Структурная схема алгоритма криптографического преобразования
2. Режим простой замены
3. Режим гаммирования
4. Режим гаммирования с обратной связью
5. Режим выработки имитовставки
Приложение 1. Справочное.Термины, применяемые в настоящем стандарте, и их определения
Приложение 2. Обязательное. Значения констант C1, С2
Приложение 3. Справочное. Схемы программной реализации алгоритма криптографического преобразования
Приложение 4. Справочное. Правила суммирования по модулю 232 и по модулю (232-1)
1. Структурная схема алгоритма криптографического преобразования
1.1. Структурная схема алгоритма криптографического преобразования (криптосхема) содержит (см. черт. 1):
ключевое запоминающее устройство (КЗУ) на 256 бит, состоящее из восьми 32-разрядных накопителей (
,
,
,
,
,
,
);
четыре 32-разрядных накопителя (
);
два 32-разрядных накопителя (
,
) с записанными в них постоянными заполнениями
, 
два 32-разрядных сумматора по модулю
(
,
);
32-разрядный сумматор поразрядного суммирования по модулю 2 (
);
32-разрядный сумматор по модулю (
) (
);
сумматор по модулю
, ограничение на разрядность сумматора
не накладывается;
блок подстановки (К);
регистр циклического сдвига на одиннадцать шагов в сторону старшего разряда (R)
1.2. Блок подстановки К состоит из восьми узлов замены
с памятью на 64 бита каждый. Поступающий на блок подстановки 32-разрядный вектор разбивается на восемь последовательно идущих 4-разрядных векторов, каждый из которых преобразуется в 4-разрядный вектор соответствующим узлом замены, представляющим собой таблицу из шестнадцати строк, содержащих по четыре бита заполнения в строке. Входной вектор определяет адрес строки в таблице, заполнение данной строки является выходным вектором. Затем 4-разрядные выходные векторы последовательно объединяются в 32-разрядный вектор.
1.3. При сложении и циклическом сдвиге двоичных векторов старшими разрядами считаются разряды накопителей с большими номерами.
1.4. При записи ключа (
...,
)
,
, в КЗУ значение
вводится в 1-й разряд накопителя
, значение
вводится во 2-й разряд накопителя
,..., значение
вводится в 32-й разряд накопителя
, значение
вводится в 1-й разряд накопителя
, значение
вводится во 2-й разряд накопителя
,..., значение
вводится в 32-й разряд накопителя
значение
вводится в 1-й разряд накопителя
и т.д., значение
вводится в 32-й разряд накопителя
.
1.5. При перезаписи информации содержимое р-го разряда одного накопителя (сумматора) переписывается в р-й разряд другого накопителя (сумматора).