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

Результат суммирования преобразуется в блоке подстановки и полученный вектор поступает на вход регистра , где циклически сдвигается на одиннадцать шагов в сторону старших разрядов. Результат сдвига суммируется поразрядно по модулю 2 в сумматоре с 32-разрядным заполнением накопителя . Полученный в результат записывается в , при этом старое заполнение переписывается в . Первый цикл заканчивается.
Последующие циклы осуществляются аналогично, при этом во 2-м цикле из КЗУ считывается заполнение в 3-м цикле из КЗУ считывается заполнение и т.д., в 8-м цикле из КЗУ считывается заполнение . В циклах с 9-го по 16-й, а также в циклах с 17-го по 24-й заполнения из КЗУ считываются в том же порядке:
259 × 34 пикс.     Открыть в новом окне
В последних восьми циклах с 25-го по 32-й порядок считывания заполнений КЗУ обратный:
263 × 32 пикс.     Открыть в новом окне
Таким образом, при зашифровании в 32 циклах осуществляется следующий порядок выбора заполнений накопителей:
568 × 69 пикс.     Открыть в новом окне
В 32 цикле результат из сумматора вводится в накопитель , а в накопителе сохраняется старое заполнение.
Полученные после 32-го цикла зашифрования заполнения накопителей и являются блоком зашифрованных данных, соответствующим блоку открытых данных.
2.1.4. Уравнения зашифрования в режиме простой замены имеют вид:
301 × 52 пикс.     Открыть в новом окне
при = 1 24;
271 × 57 пикс.     Открыть в новом окне
при =25 31;
210 × 23 пикс.     Открыть в новом окне
при = 32,
где (0) = ( (0), (0), + , (0)) - начальное заполнение перед первым циклом зашифрования;
(0) = ( (0), (0), + , (0)) - начальное заполнение перед первым циклом зашифрования;
= ( , , + , ) - заполнение после -го цикла зашифрования;
= ( , , + , ) - заполнение после -го цикла зашифрования, = 1 32.
Знак означает поразрядное суммирование 32-разрядных векторов по модулю 2.
Знак означает суммирование 32-разрядных векторов по модулю 2 . Правила суммирования по модулю 2 приведены в приложении 4;
- операция циклического сдвига на одиннадцать шагов в сторону старших разрядов, т.е.
412 × 24 пикс.     Открыть в новом окне
401 × 24 пикс.     Открыть в новом окне
.
2.1.5. 64-разрядный блок зашифрованных данных выводится из накопителей , в следующем порядке: из 1-го, 2-го, ... , 32-го разрядов накопителя затем из 1-го, 2-го, ... , 32-го разрядов накопителя , т.е.
380 × 24 пикс.     Открыть в новом окне
.
Остальные блоки открытых данных в режиме простой замены зашифровываются аналогично.
2.2. Расшифрование зашифрованных данных в режиме простой замены
2.2.1. Криптосхема, реализующая алгоритм расшифрования в режиме простой замены, имеет тот же вид (см. черт.2), что и при зашифровании. В КЗУ вводятся 256 бит того же ключа, на котором осуществлялось зашифрование. Зашифрованные данные, подлежащие расшифрованию, разбиты на блоки по 64 бита в каждом. Ввод любого блока
в накопители и производятся так, что значение (32) вводится в 1-й разряд , значение а (32) вводится во 2-й разряд и т.д., значение (32) вводится в 32-й разряд ; значение (32) вводится в 1-й разряд и т.д., значение (32) вводится в 32-й разряд .
2.2.2. Расшифрование осуществляется по тому же алгоритму, что и зашифрование открытых данных, с тем изменением, что заполнения накопителей , , ... , считываются из КЗУ в циклах расшифрования в следующем порядке:
569 × 43 пикс.     Открыть в новом окне
565 × 28 пикс.     Открыть в новом окне
2.2.3. Уравнения расшифрования имеют вид:
343 × 53 пикс.     Открыть в новом окне
при = 1 8;
396 × 53 пикс.     Открыть в новом окне
при = 9 31;
при = 32.
2.2.4. Полученные после 32 циклов работы заполнения накопителей и составляют блок открытых данных.
, , + , , , , + , ), соответствующий блоку зашифрованных данных, при этом значение блока соответствует содержимому 1-го разряда , значение соответствует содержимому 2-го разряда и т.д., значение соответствует содержимому 32-го разряда ; значение соответствует содержимому 1-го разряда , значение соответствует содержимому 2-го разряда и т.д., значение соответствует содержимому 32-го разряда .
Аналогично расшифровываются остальные блоки зашифрованных данных.