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

UptoLike

Шаг 3. j-й блок из шести символов (0 < j < 8) подается на вход блока
подстановки (S-бокс) S[j], который имеет шестиразрядный вход и четырех-
разрядный выход и представляет собой четыре преобразования из Z
2,4
в Z
2,4
;
два крайних разряда входного блока служат для выборки одного из этих
преобразований. Каждая из восьми подстановок S[0], S[l], ..., S[7] осущест-
вляется с использованием четырех строк и 16 столбцов матрицы с элемен-
тами {0, 1, ..., 15}. Каждый из массивов размерностью 4 × 16 определяет
подстановку на множестве Z
2,4
следующим образом. Если входом является
блок из шести символов (z
0
, z
1
, z
2
, z
3
, z
4
, z
5
), то две крайние позиции (z
0
, z
5
)
интерпретируются как двоичное представление целых чисел из набора {0,
1, 2, 3}. Эти целые определяют номер строки (от 0 до 3). Оставшиеся четы-
ре символа (z
1
, z
2
, z
3
, z
4
) интерпретируются как двоичное представление
целых чисел из набора {0, 1, ..., 15} и служат для определения столбца в
массиве (от 0 до 15). Таким образом, входной блок (0, 0, 1, 0, 1, 1) соответ-
ствует строке 1 и столбцу 5.
Шаг 4. 32 разряда, составляющие выход S-бокса, подаются на вход
блока проволочной коммутации (Р-бокса):
16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10,
2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25
Шаг 5. Компоненты правого входного 32-разрядного блока X', преоб-
разованного в Т(Х'), поразрядно суммируются по модулю 2 с компонентами
левого входного 32-разрядного блока X.
На каждой итерации используется 48-разрядный подключ
)...,,,(
,48,1,0 iii
kkk . Поскольку входным ключом DES является 56-
разрядный блок k = )...,,,(
,56,1,0 iii
kkk , то каждый его разряд используется
многократно.
Какие именно разряды ключа используются на i-циклической итера-
ции, определяется по следующему алгоритму:
прежде всего 64 разряда ключа преобразуются в 56 путем выбрасы-
вания каждого восьмого бита (который может использоваться для контроля
целостности ключа);
производится начальная перестановка КР-1 56-разрядного ключа
пользователя k = )...,,,(
,56,1,0 iii
kkk :
57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18,
10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36,
63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22,
14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4.
Получаемый в результате 56-разрядный блок рассматривается как два
28-разрядных блока: левыйС
0
и правыйD
0
;
производится левый циклический сдвиг блоков С
0
и D
0
s[1] раз для
получения блоков С
1
и D
1
;
из сцепления блоков (С
1
и D
1
) выбираются 48 разрядов с помощью
перестановки КР-2. Эти разряды используются на первой итерации;
14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10,
23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2,
41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48,
44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32
используемые на i-й циклической итерации разряды ключа определяются
методом индукции. Для получения блоков С
i
и D
i
производим левый цик-
лический сдвиг блоков С
i–1
и D
i–1
на s[i] позиций:
i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
S 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
и вновь применяем КР-2 для получения очередной порции ключа.
Инверсией DES (обеспечивающей расшифрование зашифрованных
посредством DES данных) является
IPIPDES
ТT
×π×Θ×π×=
161
...
1
.
Расшифрование зашифрованного посредством DES текста осуществ-
ляется с использованием тех же блоков благодаря обратимости преобразо-