Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шемякин лекции 2023 / Л8. Дифференциальный криптоанализ.pptx
Скачиваний:
19
Добавлен:
30.05.2023
Размер:
3.9 Mб
Скачать

Теперь можно провести криптоанализ полного шифра в целях

определения некоторой части ключа 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