- •Лекция
- •Дифференциальный криптоанализ (ДК), предложенный в 1991 г.
- •Дифференциальный криптоанализ (ДК) основан на гипотезе о
- •Примеры пар разностей для S-блока
- •Распределение значений выходных разностей для S-блока и
- •ВЛИЯНИЕ РАУНДОВЫХ КЛЮЧЕЙ НА ВЫХОДНЫЕ РАЗНОСТИ
- •Расчет разностных характеристик для полного шифра.Будем
- •Для всех остальных блоков входные разности будут нулевыми, что на
- •Далее используем ранее выбранную выходную пару для блока S2,3
- •Теперь можно провести криптоанализ полного шифра в целях
- •Принцип дифференциального КА
- •Подсчет количества совпадений линейной аппроксимации
- •Результаты эксперимента для 5000 пар сообщений/криптограмм и для
- •При помощи аналогичного алгоритма находится другая пара
- •Из (3.14) и (3.15) видно, что для разработки шифров, стойких к
- •Построение блоковых шифров, доказуемо стойких к линейному и дифференциальному криптоанализу
- •2. Булевы функции в криптографических преобразованиях
- •1.Область применения криптографических функций
- •1. Область применения криптографических функций
- •После окончания передачи зашифрованного файла сеанс связи должен завершаться.
- •Фильтрующий генератор гаммы
- •Комбинирующий генератор гаммы
- •2. Линейные и аффинные булевы функции
- •Класс линейных двоичных функций от n переменных L2(n)
- •Важнейшей характеристикой КФ является Хэммингово расстояние её строки истинности от всех линейных и
- •Значения линейных и аффинных функций в P2(2)
- •3. Геометрический смысл коэффициентов преобразования Уолша
- •3. Геометрический смысл коэффициентов преобразования Уолша
- •Он показывает значение расстояния Хемминга до максимально возможного, равного в данном случае 2.
- •Из (3.31) видно, что если определяет некоторую ошибку в
- •Определение 3.1.10. Булева функция f x называется сбалансированной, если ее таблица истинности содержит
Теперь можно провести криптоанализ полного шифра в целях
определения некоторой части ключа 5-го раунда.Для этого перебирается множество всевозможных пар входных сообщений с определенными входными разностями. (В нашем примере эта разность равна [000010110000 0000].) Далее для каждого входного сообщения находятся
криптограммы и по ним выходы блоков S42 , S44 при переборе всех
возможных ключей k5,5 ,...,k5,8; k5,13,...,k5,16 . Выходы этих блоков пересчитываются на их входы по табл. 3.1, и находятся разности U4 для
каждого из ключей. Затем рассчитывается количество совпадений этих разностей с найденной ранее высоковероятной разностью U4 (в нашем
примере U4 [0000 0110 0000 0110]), и в качестве истинного ключа
выбирается тот ключ, который даетнаибольшее количество таких совпадений.
12
Принцип дифференциального КА
М
1 раунд |
|
M1 |
|
M 2 |
|
|
2 раунд
3 раунд
|
V3 |
|
V3 U4 |
? |
|
|
|
U4 |
|
|
|||
4 раунд |
|
|
|
|
|
|
K5 |
|
K5i |
|
E1 |
|
E2 |
|
|
|
|
|||
|
Е |
|
|
|
|
13 |
Подсчет количества совпадений линейной аппроксимации
Пары (∆Р, ∆Е)
∆Р1,∆Е1 ∆Р2, ∆Е2 ∆Р3, ∆Е3 ….
∆Рi, ∆Еi
. . .
. . .
∆РT, ∆ЕT
Колич.
символов
|
|
Перебираемые ключи |
|
|
|
К5,1 |
К5,2 |
К5,3 |
. . . |
К5,255 |
К5,256 |
+ |
|
+ |
|
|
+ |
|
+ |
+ |
|
+ |
|
|
|
|
|
|
+ |
+ |
+ |
+ |
|
+ |
|
|
+ |
|
|
+ |
+ |
|
|
+ |
|
|
|
+ |
|
|
|
+ |
|
|
+ |
+ |
|
|
|
L1 |
L2 |
L3 |
|
L255 |
L256 |
P |
Li |
В качестве истинного ключа Ki выбирается ключ, который |
||
совпi |
|
T |
дает наибольшее отклонение от Т/2. |
14 |
|
|
Результаты эксперимента для 5000 пар сообщений/криптограмм и для
такого же истинного ключа (2,4), как и в эксперименте с ЛК, заимствованные из [5], представлены в табл. 3.8.
Таблица 3.8
Экспериментальные результаты дифференциального криптоанализа учебного ППШ
Извлекаемый подключ |
Вероятность |
Извлекаемый подключ |
Вероятность |
[K5,5,…, K5,8; K5,13,…, K5,16] |
[K5,5,…, K5,8;K5,13,…, K5,16] |
||
1,С |
0,0000 |
2,А |
0,0032 |
1,D |
0,0000 |
2,В |
0,0022 |
1,E |
0,0000 |
2,С |
0,0000 |
1,F |
0,0000 |
2,D |
0,0000 |
2,0 |
0,0000 |
2,E |
0,0000 |
2,1 |
0,0136 |
2,F |
0,0000 |
2,2 |
0,0068 |
3,0 |
0,0004 |
2,3 |
0,0068 |
3,1 |
0,0000 |
2,4 |
0,0244 |
3,2 |
0,0004 |
2,5 |
0,0000 |
3,3 |
0,0004 |
2,6 |
0,0068 |
3,4 |
0,0000 |
2,7 |
0,0068 |
3,5 |
0,0004 |
2,8 |
0,0030 |
3,6 |
0,0000 |
2,9 |
0,0024 |
3,7 |
0,0008 |
Из табл. 3.8 видно, что истинный ключ в данном эксперименте определяется верно.
15
При помощи аналогичного алгоритма находится другая пара
подключей для 5-го раунда,и затем, используя точное знание ключей 5-го раунда, можно переходить к вскрытию ключей 4-го и всех остальных раундов.
Сложность данного криптоанализа определяется также, как и линейного, количеством необходимых для него пар открытых сообщений и криптограмм.
Приближенное количество таких требуемых пар определяется
соотношением [5] |
|
C |
|
|
|
|
|
ND |
, |
(3.14) |
|
|
|
|
|||
|
|
|
PD |
|
|
гдеС – |
некоторая |
постоянная; PD – вероятность появления |
наиболее |
||
вероятной разности для всего шифра. |
|
||||
В свою очередь, эту вероятность можно оценить как |
|
||||
|
|
|
|
|
|
|
|
PD i , |
(3.15) |
||
|
|
|
i 1 |
|
|
где i – |
вероятность |
появления наиболее вероятной разности дляi-го |
|||
раунда; γ – полное число раундов блокового шифра. |
|
16
Из (3.14) и (3.15) видно, что для разработки шифров, стойких к
дифференциальному криптоанализу, необходимо в них использовать S- блоки, которые имеют минимальные вероятности появления высоковероятностных разностей, а также шифры, обладающие разветвленной структурой. Для построения таких шифров (сдоказуемой стойкостью к дифференциальному и линейному криптоанализу) нам потребуется дополнительный математический аппарат, описывающий свойства булевых функций и конечных полей.
17
Построение блоковых шифров, доказуемо стойких к линейному и дифференциальному криптоанализу
В работах по криптографии [35] было показано, что если в качестве
входов x и выходов S(x) дляS-блоков, имеющих одинаковую длину n, рассматривать элементы конечного поля GF(2n ) и выбрать преобразование
S(x) x 1, |
где x 1 – обратный элемент |
к элементу xв конечном |
поле |
||
GF(2n ) , |
то |
вероятности |
дифференциальной аппроксимации |
P и |
|
|
|
|
|
|
D |
корреляции |
PL 2 (где ε – |
перекос |
для линейной аппроксимации) |
||
минимизируются и принимают значения: |
|
|
|||
|
|
|
P 22 n |
; |
(3.35) |
|
|
|
D |
|
|
|
|
|
n |
|
|
|
|
|
P 21 2 . |
(3.36) |
|
|
|
|
L |
|
|
Доказывается также, что нелинейность такого S-блока будет тогда |
|||||
равна: |
|
|
N( f ) n 1. |
(3.37) |
|
|
|
|
18
2
19
3
20
4
21
225
6
23
7
24
8
25
9
26
10
27
11
28
2912
3013
14
31
3215
16
33
3417
3518
19
36