ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования стр. 3

2.3. Алгоритм зашифрования в режиме простой замены 64-битового блока обозначается через , т.е.
, , .
2.4. Режим простой замены допускается использовать для зашифрования (расшифрования) данных только в случаях, приведенных в п.1.7.

3. РЕЖИМ ГАММИРОВАНИЯ

3.1. Зашифрование открытых данных в режиме гаммирования
3.1.1. Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования, имеет вид, указанный на черт.3.
330 × 445 пикс.     Открыть в новом окне
Черт.3
Открытые данные, разбитые на 64-разрядные блоки , ... , , , зашифровываются в режиме гаммирования путем поразрядного суммирования по модулю 2 в сумматоре с гаммой шифра , которая вырабатывается блоками по 64 бита, т.е.
251 × 42 пикс.     Открыть в новом окне
,
где - определяется объемом шифруемых данных.
- -й 64-разрядный блок, = 1 , число двоичных разрядов в блоке может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока отбрасывается.
3.1.2. В КЗУ вводятся 256 бит ключа. В накопители , вводится 64-разрядная двоичная последовательность (синхропосылка) , являющаяся исходным заполнением этих накопителей для последующей выработки блоков гаммы шифра. Синхропосылка вводится в и так, что значение вводится в 1-й разряд , значение вводится во 2-й разряд и т.д., значение вводится в 32-й разряд ; значение вводится в 1-й разряд , значение вводится во 2-й разряд и т.д., значение вводится в 32-й разряд .
3.1.3. Исходное заполнение накопителей и (синхропосылка ) зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Результат зашифрования , ) переписывается в 32-разрядные накопители и , так, что заполнение переписывается в , а заполнение переписывается в .
3.1.4. Заполнение накопителя суммируется по модулю (2 -1) в сумматоре с 32-разрядной константой из накопителя , результат записывается в . Правила суммирования по модулю (2 -1) приведены в приложении 4. Заполнение накопителя суммируется по модулю 2 в сумматоре в 32-разрядной константой из накопителя , результат записывается в .
Заполнение переписывается в , а заполнение переписывается в , при этом заполнение , сохраняется.
Заполнение и зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Полученное в результате зашифрования заполнение , образует первый 64-разрядный блок гаммы шифра , который суммируется поразрядно по модулю 2 в сумматоре с первым 64-разрядным блоком открытых данных
В результате суммирования получается 64-разрядный блок зашифрованных данных
Значение блока является результатом суммирования по модулю 2 в значения из блока со значением 1-го разряда , значение блока является результатом суммирования по модулю 2 в значения из блока со значением 2-го разряда и т.д., значение блока является результатом суммирования по модулю 2 в значения из блока со значением 32-го разряда .
3.1.5. Для получения следующего 64-разрядного блока гаммы шифра заполнение суммируется по модулю (2 -1) в сумматоре с константой из , заполнение суммируется по модулю 2 в сумматоре с константой из . Новое заполнение переписывается в , а новое заполнение переписывается в , при этом заполнение и сохраняется.
Заполнение и зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Полученное в результате зашифрования заполнение , образует второй 64-разрядный блок гаммы шифра , который суммируется поразрядно по модулю 2 в сумматоре со вторым блоком открытых данных . Аналогично вырабатываются блоки гаммы шифра , ... , и зашифровываются блоки открытых данных , ... , . Если длина последнего -го блока открытых данных меньше 64 бит, то из последнего -го блока гаммы шифра для зашифрования используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются.
3.1.6. В канал связи или память ЭВМ передаются синхропосылка и блоки зашифрованных данных , , ... , .
3.1.7. Уравнение зашифрования имеет вид:
316 × 32 пикс.     Открыть в новом окне
,
где ’ - означает суммирование 32-разрядных заполнений по модулю (2 -1);
- поразрядное суммирование по модулю 2 двух заполнений;
- содержимое накопителя после зашифрования -го блока открытых данных ;
- содержимое накопителя после зашифрования -го блока открытых данных ;
.
3.2. Расшифрование зашифрованных данных в режиме гаммирования
3.2.1. При расшифровании криптосхема имеет тот же вид, что и при зашифровании (см. черт.3). В КЗУ вводятся 256 бит ключа, с помощью которого осуществлялось зашифрование данных , , ..., . Синхропосылка вводится в накопители и и аналогично пп.3.1.2-3.1.5 осуществляется процесс выработки блоков гаммы шифра , , ... , . Блоки зашифрованных данных , , ... , суммируются поразрядно по модулю 2 в сумматоре с блоками гаммы шифра, в результате получаются блоки открытых данных , , ..., , при этом может содержать меньше 64 разрядов.
3.2.2. Уравнение расшифрования имеет вид:
334 × 61 пикс.     Открыть в новом окне

4. РЕЖИМ ГАММИРОВАНИЯ С ОБРАТНОЙ СВЯЗЬЮ

4.1. Зашифрование открытых данных в режиме гаммирования с обратной связью
4.1.1. Крипстосхема, реализующая алгоритм зашифрования в режиме гаммирования с обратной связью, имеет вид, указанный на черт.4.
340 × 413 пикс.     Открыть в новом окне
Черт.4
Открытые данные, разбитые на 64-разрядные блоки , ..., , зашифровываются в режиме гаммирования с обратной связью путем поразрядного суммирования по модулю 2 в сумматоре с гаммой шифра , которая вырабатывается блоками по 64 бита, т.е. = ( , , ... , ), где определяется объемом открытых данных, - -й 64-разрядный блок, = 1 . Число двоичных разрядов в блоке может быть меньше 64.
4.1.2. В КЗУ вводятся 256 бит ключа. Синхропосылка из 64 бит вводится в и аналогично п.3.1.2.
4.1.3. Исходное заполнение и зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Полученное в результате зашифрования заполнение и образует первый 64-разрядный блок гаммы шифра = , который суммируется поразрядно по модулю 2 в сумматоре с первым 64-разрядным блоком открытых данных = ( ).
В результате получается 64-разрядный блок зашифрованных данных
.
4.1.4. Блок зашифрованных данных одновременно является также исходным состоянием , для выработки второго блока гаммы шифра и по обратной связи записывается в указанные накопители. При этом значение вводится в 1-й раздел N 1, значение вводится во 2-й разряд N 1 и т.д., значение вводится в 32-й разряд N 1; значение вводится в 1-й разряд N 2, значение вводится во 2-й разряд N 2 и т.д., значение вводится в 32-й разряд N 2.
Заполнение , зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Полученное в результате зашифрования заполнение , образует второй 64-разрядный блок гаммы шифра , который суммируется поразрядно по модулю 2 в сумматоре со вторым блоком открытых данных .
Выработка последующих блоков гаммы шифра и зашифрование соответствующих блоков открытых данных ( = 3 ) производится аналогично. Если длина последнего -го блока открытых данных меньше 64 разрядов, то из используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются.