Зашифрование данных

 

Открытые данные, подлежащие зашифрованию, разбивают на блоки по 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.
Остальные блоки открытых данных в режиме простой замены зашифровываются аналогично.

ball2.gif (146 bytes)   Структурная схема зашифрования в режиме простой замены

 

01LEFT.JPG (1550 bytes)01RIGHT.JPG (1552 bytes)

АИСС БКБ, www.orioncom.ru, tel (495) 783-5510