Интернет магазин китайских планшетных компьютеров



Компьютеры - DEAL - Алгоритм

16 июня 2011


Оглавление:
1. DEAL
2. Алгоритм
3. Стойкость алгоритма



Режимы работы с ключами длиной 128, 192 и 256 бит обозначаются соответственно DEAL-128, DEAL-192 и DEAL-256. Каждая из модификаций с разными длинами ключа может использовать все четыре стандартных режима DES-а.

Режим ECB

Рассмотрим первый режим работы — ECB. Обозначим С = EB результат шифрования 64-битного блока А на ключе В, и Y = EAZ — результат шифрования с помощью DEAL-128 блока X на ключе Z. Согласно требованиям AES, исходный текст Р разбивается на блоки Pi по 128 бит каждый, P = P1,P2,..,Pn Из исходного ключа K с помощью расписания ключей получается r ключей для работы DES RKi, где i = 1, … , r. Алгоритм расписания описан ниже. Обозначим X и X «правую» и «левую» части блока Х соответственно. Шифрование описывается следующими выражениями:
Положим X^R_0 = P^R_i и X^L_0 = P^L_i, и вычислим для j = 1,.. ,r

X^L_j = E_{RK_i} \oplus X^R_{j-1}
X^R_j = X^L_{j-1}

Положим  C_i = X^L_r \parallel X^R_r

Один раунд DEAL

На рисунке изображена одна итерация цикла для DEAL. Для DEAL-128 и DEAL-192 используются 6 циклов, полагая r = 6. Однако, такого количества раундов может оказаться недостаточно для DEAL-256, в котором необходимо использовать большее количество раундов: r = 8. По замыслу разработчиков DEAL-256 должен использоваться только когда требуется особенно сильное шифрование.

В заключительном раунде DEAL «правая» и «левая» половинки блока так же меняются. Это обусловлено следующем: «правая» часть шифруемого блока Ci не шифруется в последнем раунде i-ого прохода DEAL, и только «левая» половина блока на i + 1-ом проходе шифруется в первом раунде. Это означает, что «правая» часть Ci не будет шифроваться вообще в течение двух раундов. Это можно рассматривать как уязвимость алгоритма, учитывая что с DEAL используется всего 6 или 8 раундов. Подобной «особенностью» обладает и DES в режиме CBC. Но, учитывая что у DES 16 раундов, это не становиться столь яркой уязвимостью. Так или иначе — эта перестановка не влияет на стойкость блочного шифра в режиме ECB

Режим CBC

Итак, обозначим блоки открытого текста по 128 бит P1,P2,..,Pn и C1,C2,..,Cn — соответствующие им блоки шифр-текста. Тогда используя рекуррентное соотношение:  C_i = EA_K  , где C0 — начальное значение
получаем шифроблоки в режиме CBC.

Расписание ключей

Входными параметрами для расписания ключей являются s ключей DES, каждый по 56 бит плюс 8 «проверочных» бит. Для разных исходных длин ключа s = 2, 3, 4, и входные ключи обозначаются: K1,..,Ks. На выходе получаем r ключей DES, RKi. Расписание ключей единообразно для всех трех длин исходного ключа. Сначала расширяем s ключей до r ключей, создавая отсутствующие ключи операцией XOR с новой константой для каждого нового ключа. Константа используется чтобы исключить слабые ключи. К полученным ключам применим DES в режиме CBC с фиксированным ключом и нулевым начальным значением. Из полученных блоков шифр-текста и формируются подключи RKi. Далее — точные описания вышеописанных операций. Здесь K = 0x1234 567890ab cdefx — фиксированный ключ для DES.
В DEAL-128 подключи генерируются следующим образом:

 RK_1 = E_k,
 RK_2 = E_k,
 RK_3 = E_k,
 RK_4 = E_k,
 RK_5 = E_k,
 RK_6 = E_k,

где  \langle i \rangle — 64-х битное целое число, в котором i — 1-ый бит установлен в «1», а остальные — в «0». Например,  \langle 1 \rangle может быть представлено как шестнадцатеричное «K = 0x8000 00000000 0000x».


В DEAL-192 подключи генерируются следующим образом:

 RK_1 = E_k,
 RK_2 = E_k,
 RK_3 = E_k,
 RK_4 = E_k,
 RK_5 = E_k,
 RK_6 = E_k,


В DEAL-256 подключи генерируются следующим образом:

 RK_1 = E_k,
 RK_2 = E_k,
 RK_3 = E_k,
 RK_4 = E_k,
 RK_5 = E_k,
 RK_6 = E_k,
 RK_7 = E_k,
 RK_8 = E_k,

Таким образом для генерации раундовых ключей DEAL необходимо 8 «проходов» DEAL. Чтобы не тратить процессорное время эти ключи следует сохранить для всего процесса шифрования или расшифрования.




Просмотров: 1510


<<< BelT
DFC >>>