Опубликован: 19.01.2010 | Уровень: специалист | Доступ: свободно
Дополнительный материал 14:

N. Дифференциальный и линейный криптоанализ DES

N.2. Линейный криптоанализ

Линейный криптоанализ для DES был разработан Матцуи. Это - атака знания исходного текста. Анализ использует распространение конкретного набора битов через устройство шифрования.

Отношения линейности

Линейный криптоанализ основан на отношениях линейности. В этом типе криптоанализа представляют интерес два набора отношений: линейные профайлы и характеристики раунда, как показано на рис. N.5.

Линейный профайл и характеристика раунда в DES

Рис. N.5. Линейный профайл и характеристика раунда в DES
Линейный профайл

Линейный профайл показывает уровень линейности между входом и выходом S-блока. Мы видели, что в S-блоке каждый бит выхода - функция всех входных битов. Желательное свойство в S-блоке достигнуто, если каждый бит выхода - нелинейная функция всех входных битов. К сожалению, эта идеальная ситуация не существует в DES; некоторые биты выхода - линейная функция некоторых комбинаций входных битов. Другими словами, можно найти, что некоторые комбинации битов входа-выхода могут быть отображены между собой, используя линейную функцию. Линейный профайл показывает уровень линейности (или нелинейности) между входом и выходом. Криптоанализ может создать восемь различных таблиц, по одной для каждого S-блока, в которых первый столбец показывает возможные комбинации входов по шесть бит, 0016 до 3F16. Первая строка показывает возможные комбинации выходов по четыре бита, 016 до F16. Входы показывают уровень линейности (или нелинейности) данного проекта. Мы не можем углубляться в детали того, как измеряется уровень линейности, но входы с высокого уровня из линейности интересны для криптоанализа.

Характеристика раунда

Характеристика раунда в линейном криптоанализе показывает комбинации входных битов, битов ключей раунда и битов выхода для того, чтобы определить линейное отношение. Рисунок N.6 изображает две различные характеристики раунда. Система обозначений, используемая для каждого случая, определяет биты, которые складываются по модулю два. Например, О (7, 8, 24, 29) означает операцию исключающее ИЛИ 7-х, 8-х, 24-х и 29-х битов, выходящих из функции; K (22) означает 22-й бит в ключе раунда; I (15) означает 15-й бит, входящий в функцию.

Некоторые характеристики раунда для линейного криптоанализа

Рис. N.6. Некоторые характеристики раунда для линейного криптоанализа

Ниже показаны отношения для частей а и б рисунка N.6, использующих индивидуальные биты.

Часть a: О (7) \oplus  0 (8) \oplus  О (24) \oplus  О (29)  = I (15) \oplus  K (22)

Часть b: F (15) = I (29) \oplus  K (42) \oplus  K (43) \oplus  K (45) \oplus  K (46)

Трехраундная характеристика

После создания и хранения однораундных характеристик анализатор может комбинировать различные раунды, чтобы создать множественную характеристику раунда. Рисунок N.7 показывает случай трехраундной DES, в которой раунды 1 и 3 используют одну и ту же характеристику, как это изображено на рис. N.6а, а в раунде 2 использована произвольная характеристика.

Трехраундные характеристики для линейного криптоанализа

Рис. N.7. Трехраундные характеристики для линейного криптоанализа

Цель линейного криптоанализа состоит в том, чтобы найти линейное отношение между некоторыми битами в паре "исходный текст / зашифрованный текст" и ключ. Давайте посмотрим, можем ли мы установить такое отношение для DES с 3-мя раундами, изображенной на рис. N.7.

Раунд 1: R_{1} (7, 8, 24, 29) = L_{0} (7, 8, 24, 29) \oplus  R_{o }(15) \oplus  K_{1} (22)

Раунд 3: L_{3} (7, 8, 24, 29) = L_{2} (7, 8,24, 29) \oplus  R2 (15) \oplus  K_{3} (22)

Но L2 - тот же самый, что и R1, и R2 - тот же самый, что и R3. После замены L2 на R1 и R2 на R3 во втором отношении мы получим:

L_{3} (7, 8, 24, 29) = R_{1}, (7, 8, 24, 29) \oplus  R_{3 }(15) \oplus  K_{3 }(22)

Мы можем заменить R1 на его эквивалентное значение в раунде 1, в результате имеем

L_{3}(7, 8, 24, 29) = L_{0} (7, 8, 24, 29) \oplus  R_{0} (15) \oplus  K_{1 }(22) \oplus  R_{3 }(15) \oplus  K_{3} (22)

Это отношения между битами входа и выхода для всей системы из трех раундов после преобразований:

L_{3} (7, 8, 24, 29) \oplus  R_{3} (15) =  L_{0} (7, 8, 24, 29) \oplus  Ro (15) \oplus  K_{1} (22) \oplus  K_{3} (22)

Другими словами, мы имеем

C (7, 8, 15, 24, 29) = P (7, 8, 15, 24, 29) \oplus  K_{1} (22) \oplus  K_{3} (22)
Вероятность

Один интересный вопрос: как найти вероятность трехраундных (или n -раундных) DES. Матцуи (Matsui) показал, что вероятность в этом случае

P = 1/2 + 2n-1П(pi - 1/2),

где n является числом раундов,. P.- вероятность каждой характеристики раунда и P - полная вероятность. Например, полная вероятность для трехраундного анализа на рис. N.7

P = 1/2 + 2 3 -1 [(52/64 - 1/2) x (1 - 1/2) x (52/64 - 1/2)] = 0,695
Шестнадцатираундная характеристика

16-раундовая характеристика может также быть скомпилирована, чтобы обеспечить линейные отношения между некоторыми битами исходного текста, некоторыми битами зашифрованного текста и некоторыми битами в ключах раунда.

C\ (некоторые\ биты) = P (некоторые\ биты)\ \oplus\  K_{1}\ (некоторые\ биты)\ \oplus\  ooo\ \oplus\  K\  (некоторые\ биты)

Атака

После нахождения и сохранения многих отношений между некоторыми битами исходного текста, битами зашифрованного текста и битами ключей раунда Ева может обратиться к некоторым парам исходного текста / зашифрованного текста (атака знания исходного текста) и использовать соответствующие биты из сохраненных характеристик, чтобы найти биты в ключах раунда.

Безопасность

Известно, что для того чтобы напасть на 16-раундовый DES, необходимы 243 известных пар исходного текста / зашифрованного текста. Линейный криптоанализ выглядит более вероятным, чем дифференциальный криптоанализ, по двум причинам. Первая: число шагов у него меньше. Вторая: он более прост для атаки знания исходного текста, чем для атаки с выборкой исходного текста. Однако и такая атака все еще далека от того, чтобы ее серьезно опасаться тем, кто работает с DES.

Евгений Виноградов
Евгений Виноградов
Экстернат
Илья Сидоркин
Илья Сидоркин
Как получить диплом?
Сергей Огородников
Сергей Огородников
Россия, Сыктывкар
Дмитрий Карпов
Дмитрий Карпов
Россия, Нижний Новгород