Управление ключами шифрования и безопасность сети

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

Показывать лекцию целиком

В этом приложении мы кратко обсуждаем две проблемы, которые связаны с шифром DES: дифференциальный и линейный криптоанализ. Полное рассмотрение этих двух проблем невозможно в этой книге. Это приложение дает общее представление и отсылает заинтересованных читателей к возможностям познакомиться с проблемой поближе в соответствующей литературе.

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

Дифференциальный криптоанализ для DES был изобретен Бихамом (Biham) и Шамиром (Shamir). В этом криптоанализе злоумышленник концентрируется на атаках с выборкой исходного текста. Анализ использует разность в прохождении различных входных сигналов через устройство или программу шифрации. Термин разность здесь применяется, чтобы рассмотреть с помощью операции ИСКЛЮЧАЮЩЕЕ ИЛИ несовпадение двух различных входных сообщений (исходные тексты). Другими словами, злоумышленник анализирует, как $$P \oplus P'$$ различаются при обработке в каждом раунде.

Вероятностные отношения

Идея относительно дифференциального криптоанализа базируется на вероятностных отношениях между входными разностями и разностями выхода. Два отношения представляют конкретный интерес в анализе: дифференциальный профайл и характеристика раунда, как это показано на рис. N.1.

(рис N.1) Дифференциальный профайл и характеристика раунда в DES

Дифференциальный профайл

Дифференциальный профайл (он же профайл ИСКЛЮЧАЮЩЕЕ ИЛИ) показывает вероятностное отношение между входными разностями и разностями выхода S-блока. Подобные профайлы могут быть созданы для каждого из восьми S-блоков в DES.

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

Характеристика раунда подобна дифференциальному профайлу, но вычисляется для целого раунда. Она показывает вероятность, с которой одна входная разность создала бы разность определенного выхода. Обратите внимание, что характеристика одна и та же для каждого раунда, потому что любое отношение, которое включает разности, не зависит от ключей раунда. Рисунок N.2 показывает четыре различные характеристики раунда.

(рис N.2) Некоторые характеристики раунда для дифференциального криптоанализа

Хотя существует много характеристик для раунда, рисунок N.2 показывает только четыре из них. В каждой характеристике мы разделили входные разности и разности выхода в левые и правые секции. Каждая левая или правая разность состоят из 32 битов или восьми шестнадцатеричных цифр. Все эти характеристики могут быть найдены использующими программами, которые могут найти отношение входа-выхода в раунде DES. Рисунок N.2а показывает, что входная разность (x, 0000000016) дает на выходе разность (x, 0000000016) с вероятностью 1. Рисунок N.2б показывает ту же самую характеристику, как рисунок N.2а, за исключением того, что левые и правые вход и выход поменялись местами; вероятность изменится чрезвычайно. Рисунок N.2в показывает, что входная разность (4008000016, 0400000016) дает разность выхода (0000000016, 040000016) с вероятностью 1/4. Наконец, рисунок N.2г показывает, что входная разность (0000000016, 6000000016) дает разность выхода (0080820016 600000016) с вероятностью 14/64.

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

После создания и хранения однораундных характеристик анализатор может комбинировать различное количество раундов, чтобы создать множественную характеристику раунда. Рисунок N.3 показывает случай трехраундной DES. На рис. N.3, мы использовали три смесителя и только два устройства замены, потому что последний раунд не нуждается ни в каком устройстве замены. Характеристики, показанные в смесителях первых и третьих раундов, те же самые, как и на рисунке N.2b. Характеристика смесителя во втором раунде - та же самая, что и на рис. N.2a. Очень интересно отметить, что точки, в этом конкретном случае, разности входа и выхода - те же самые ( $$\Delta L_{3}=\Delta L_{0}$$ и $$\Delta R_{3} = \Delta R_{0}$$ ).

(рис N.3) Трехраундная характеристика

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

Для шифра с шестнадцатью раундами можно скомпилировать много различных характеристик. Рисунок N.4 показывает пример. На этом рисунке шифр DES состоит из восьми секций с двумя раундами. Каждая секция использует характеристики а и б на рис. N.2. Ясно, что если последние раунды не имеют устройства замены, вход (x, 0) создает выход (0, x) с вероятностью (1/234)8.

(рис N.4) Шестнадцатираундная характеристика для дифференциального криптоанализа

Атака

Для примера предположим, что Ева использует характеристику по рисунку N.4, чтобы напасть на DES с шестнадцатью раундами. Ева каким-то способом провоцирует Алису, чтобы зашифровать много исходных текстов в форме (x, 0), в которой левая половина - x (различные значения) и правая половина - 0. Ева затем сохраняет все зашифрованные тексты, полученные от Алисы, в форме (0, x). Обратите внимание, что 0 здесь означает 0000000016.

Нахождение ключа шифра

Окончательная цель злоумышленника в дифференциальном криптоанализе состоит в том, чтобы найти ключ шифра. Для этого нужно найти ключи каждого раунда от основания до вершины (K16 K1).

Нахождение последних ключей раунда

Если злоумышленник имеет достаточно много пар исходного текста / зашифрованного текста (каждый с различными значениями. x ), он может использовать отношения в последнем раунде, 0 = f(K16,x) и найти некоторые из битов в K16. Это можно сделать, выбирая самые вероятные значения.

Нахождение других ключей раунда

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

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

Известно, что необходимы 247 выборки пар исходного текста / зашифрованного текста, чтобы напасть на DES с 16 раундами. Найти такое огромное число выбранных пар чрезвычайно трудно в ситуациях реальной жизни. Это означает, что DES неуязвимы для этого типа атаки.

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

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

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

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

(рис 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.

Вернуться к учебному плану