Зашифрование данных
Открытые данные, подлежащие зашифрованию,
разбивают на блоки по 64 бита каждый. Ввод любого
блока Tо = (a1(0), a2(0),..., a31(0), a32(0), b1(0), b2(0),.., b32(0)
двоичной информации в накопители N1 и N2
производятся так, что значение a1(0) вводится в 1-й
разряд N1, значение a2(0) вводится во 2-й разряд
накопителя и т.д., значение a32(0) вводится в 32-й
разряд N1: значение b1(0) вводится в 1-й разряд N2,
значение b2(0) вводится во 2-й разряд накопителя и
т.д., значение b32(0) вводится в 32-й разряд N2. В
результате получаем состояние (a32(0), a31(0),..., a2(0),
a1(0)) накопителя N1 и состояние (b32(0), b31(0),..., b2(0), b1(0))
накопителя N2.
В КЗУ вводится 256 бит ключа. Содержимое восьми
32-разрядных накопителей X0, X1,...., X7 имеет вид:
X0 = (W32, W31,..., W2, W1)
X1 = (W64, W63,..., W34, W33)
. . .
X7 = (W256, W255,..., W226, W225)
лгоритм зашифрования 64-разрядного блока
открытых данных в режиме простой замены состоит
из 32-х циклов.
В первом цикле начальное заполнение накопителя N1
суммируется по модулю 232 в сумматоре СМ1 с
заполнением накопителя X0, при этом заполнение
накопителя N1 сохраняется.
Результат суммирования преобразуется в блоке
подстановке K и полученный вектор поступает на
вход регистра R, где циклически сдвигается на
одиннадцать шагов в сторону старших разрядов.
Результат сдвига суммируется поразрядно по
модулю 2 в сумматоре СМ2 с 32-разрядным заполнением
накопителя N2. Полученный в СМ2 результат
записывается в N1, при этом старое заполнение N1
переписывается в N2. Первый цикл заканчивается.
Последующие циклы осуществляются аналогично,
при этом во 2-м цикле из КЗУ считывается
заполнение X1, в 3-ем цикле из КЗУ считывается
заполнение X2 и т.д., в 8-ом цикле из КЗУ считывается
заполнение X7. В циклах с 9-го по 16-ый, а также в
циклах с 17-го по 24-ый заполнения из КЗУ
считываются в том же порядке.
В последних восьми циклах с 25-ый по 32-ой порядок
считывания заполнений КЗУ обратный.
В 32-ом цикле результат из сумматора СМ2 вводится в
накопитель N2, а в накопителе N1 сохраняется старое
заполнение.
Полученные после 32-го цикла зашифрования
заполнения накопителей N1 и N2 являются блоком
зашифрованных данных, соответствующим блоку
открытых данных.
64-разрядный блок зашифрованных данных Тш
выводится из накопителей N1 и N2 в следующем
порядке: из 1-го, 2-го,..., 32-го разряда накопителя N1,
затем из 1-го, 2-го,..., 32-го разрядов накопителя N2.
Остальные блоки открытых данных в режиме простой
замены зашифровываются аналогично.
Структурная схема зашифрования в режиме простой замены
АИСС БКБ, www.orioncom.ru, tel (495) 783-5510