- •КУРС ЛЕКЦИЙ
- •Из сказанного выше следует, что
- •Допустим, что мы уже установили справедливость соотношений
- •По формуле Байеса
- •Среднее геометрического распределения равно
- •Пусть
- •Тогда
- •Для второй суммы справедлива оценка
- •Следовательно,
- •Отсюда получаем
- •Тогда
- •Это выполняется, когда
- •Тогда справедливо следующее равенство:
- •Обозначим
- •Положим
- •Это апостериорная вероятность того, что z=a. Аналогично
- •Из определения следует, что
- •Тогда уравнение
- •Рис. 1. Схема 3-х раундов DES.
- •Отсюда, используя разложение логарифма в ряд, получим
- •Таким образом,
- •Здесь IV – инициальное значение.
- •Из этих соотношений с учетом (1) получим
- •Аналогично,
- •Откуда следует, что
- •Из соотношений (2) и (3) получим
- •Отсюда
- •Отсюда
- •Находим подходящие тексты такие, что
- •Теперь проверяем равенство
- •Тогда
- •Тогда
- •Сложив два последние равенства, получим
- •Пример: IDEA
- •4.2. Арифметика остатков
- •Заметим, что
- •Подпись RSA.
- •Затем
- •Аналогично
- •Тогда по лемме
- •Глава 1. Примеры шифров……………………………………………………. 3
- •Глава 3. Синтез криптоалгоритмов…………………………………………….67
- •4.2. Арифметика остатков………………………………………………….81
60
2.13. Атака на тройной DES с помощью линейного криптоанализа.
Рассмотрим схему тройного DES в режиме CBC/ECB/CBC [Biham 94].
|
|
|
P 0 |
P1 |
|
P 2 |
|
|
|
|
|
|
|
P 3 |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
IV 1 |
|
|
Z 0 |
|
Z1 |
|
|
|
|
Z |
2 |
|
|
|
Z |
|
3 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К1 |
L 0 |
|
К1 |
L1 |
|
|
|
|
К1 |
|
|
L 2 |
|
К1 |
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К2 |
|
|
|
К2 |
|
|
|
|
|
К2 |
|
|
|
|
|
К |
2 |
|
|
|
|
|
||||||
|
|
|
|
|
|
V 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
V1 |
|
|
|
|
|
|
V 2 |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
IV 2 |
|
|
|
W 0 |
|
|
W1 |
|
|
|
|
W2 |
|
|
W 3 |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К3 |
|
|
|
К3 |
|
|
|
|
|
К3 |
|
|
|
|
|
К3 |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C 0 |
|
|
|
|
C1 |
|
|
|
|
|
|
C 2 |
|
|
|
|
C 3 |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
Рис. 1. |
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
Пусть найдено достаточно много шифртекстов (C 0 , C1, C 2 ) , где C1 и |
||||||||||||||||||||||||||||||
C 2 - фиксированы, а C 0 - произвольные и различные. |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
1) Сначала атакуем ключ К2 . Обозначим |
через Wi |
- вход последнего |
||||||||||||||||||||||||||||
блока, Vi |
- выход второго блока и через Zi , |
Li - вход и выход первого |
||||||||||||||||||||||||||||||
блока соответственно, Рi - открытый текст. |
|
Для всех векторов |
||||||||||||||||||||||||||||||
|
|
L1 = D K2 ( V1), V1 = C 0 + W1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Отсюда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
L1 = D K2 ( C 0 + W1). |
V 2 = W2 |
+ C1 |
|
|
|
|
|
(1) |
|
|||||||||||||||||||||
|
|
Для |
всех векторов |
|
|
одно и |
то же, так как |
|||||||||||||||||||||||||
W2 = D K3 (C 2 ). Следовательно, для них L 2 = D K2 ( V 2 ) одно и то же. |
||||||||||||||||||||||||||||||||
Отсюда получаем |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
P 2 |
= D K2 ( C 0 + W1) + Z 2 , |
|
|
|
|
|
|
|
|
|
|
(2) |
|
|||||||||||||||||
|
|
|
61 |
где для |
всех C 0 вектора W1 и Z 2 остаются одинаковыми. Нам известны |
||
P 2 и |
C 0 , а неизвестны К2 , |
W1 и Z 2 . Пусть D*K2 ( ) |
– линейный |
статистический аналог = D K2 ( ). Тогда |
|
||
P 2 |
= D*K2 ( C 0 + W1) + Z 2 |
- |
(3) |
- линейное уравнение относительно К2 , W1 и Z 2 . Набирая и решая системы |
|||
при различных (C 0 , P 2 ), статистически выделяем решение К2 , W1 и Z 2 . |
|||
2) ЕK3 ( W1) = C1. |
|
|
|
Отсюда с помощью метода полного перебора получим К3 . |
|
||
3) Зная К2 , К3 , получим L 2 |
и, зная Z 2 , методом полного перебора из |
||
соотношения ЕK1 ( Z 2 ) = L 2 находим К1.
2.14. Техника атаки на тройной DES, основанная на задаче о днях рождения.
Рассмотрим схему тройного DES CBC/CBC/CBC [Biham 94].
|
|
P 0 |
P1 |
|
|
|
P 2 |
|
|
|
|
P 3 |
|
|
|||||||||||||||
IV 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К1 |
Z 0 |
|
К1 |
Z |
|
|
|
|
|
К1 |
|
Z 2 |
|
|
|
|
К1 |
|
|
|||||||
IV 2 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К2 |
|
|
|
К2 |
|
|
|
|
|
|
К2 |
|
|
|
|
|
|
К2 |
|
|
||||||
|
|
|
|
|
H |
|
|
|
|
H |
|
|
|
|
H |
|
|
|
|
|
|
|
H |
|
|
||||
IV 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К3 |
|
|
|
К3 |
|
|
|
|
|
|
К3 |
|
|
|
|
|
|
К |
3 |
|
|
|
|
|||
|
|
|
C |
|
|
|
C |
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
C |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
Пусть найдено 2 33 шифртекстов вида (C, C, C, С). Атака сначала ведется на ключ К3 . На выходе второго блока шифрования имеем четверку
