Криптографическая защита информации. Яковлев А.В - 29 стр.

UptoLike

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