Экстернат |
N. Дифференциальный и линейный криптоанализ DES
N.2. Линейный криптоанализ
Линейный криптоанализ для DES был разработан Матцуи. Это - атака знания исходного текста. Анализ использует распространение конкретного набора битов через устройство шифрования.
Отношения линейности
Линейный криптоанализ основан на отношениях линейности. В этом типе криптоанализа представляют интерес два набора отношений: линейные профайлы и характеристики раунда, как показано на рис. N.5.
Линейный профайл
Линейный профайл показывает уровень линейности между входом и выходом 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, использующих индивидуальные биты.
Часть a:
Часть b:
Трехраундная характеристика
После создания и хранения однораундных характеристик анализатор может комбинировать различные раунды, чтобы создать множественную характеристику раунда. Рисунок N.7 показывает случай трехраундной DES, в которой раунды 1 и 3 используют одну и ту же характеристику, как это изображено на рис. N.6а, а в раунде 2 использована произвольная характеристика.
Цель линейного криптоанализа состоит в том, чтобы найти линейное отношение между некоторыми битами в паре "исходный текст / зашифрованный текст" и ключ. Давайте посмотрим, можем ли мы установить такое отношение для DES с 3-мя раундами, изображенной на рис. N.7.
Раунд 1:
Раунд 3:
Но L2 - тот же самый, что и R1, и R2 - тот же самый, что и R3. После замены L2 на R1 и R2 на R3 во втором отношении мы получим:
Мы можем заменить R1 на его эквивалентное значение в раунде 1, в результате имеем
Это отношения между битами входа и выхода для всей системы из трех раундов после преобразований:
Другими словами, мы имеем
Вероятность
Один интересный вопрос: как найти вероятность трехраундных (или 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-раундовая характеристика может также быть скомпилирована, чтобы обеспечить линейные отношения между некоторыми битами исходного текста, некоторыми битами зашифрованного текста и некоторыми битами в ключах раунда.
Атака
После нахождения и сохранения многих отношений между некоторыми битами исходного текста, битами зашифрованного текста и битами ключей раунда Ева может обратиться к некоторым парам исходного текста / зашифрованного текста (атака знания исходного текста) и использовать соответствующие биты из сохраненных характеристик, чтобы найти биты в ключах раунда.
Безопасность
Известно, что для того чтобы напасть на 16-раундовый DES, необходимы 243 известных пар исходного текста / зашифрованного текста. Линейный криптоанализ выглядит более вероятным, чем дифференциальный криптоанализ, по двум причинам. Первая: число шагов у него меньше. Вторая: он более прост для атаки знания исходного текста, чем для атаки с выборкой исходного текста. Однако и такая атака все еще далека от того, чтобы ее серьезно опасаться тем, кто работает с DES.