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

2. Перестановки

Это преобразование, которое показывает, на какую позицию в выходном блоке должен попасть стоящий на определенной позиции символ входной последовательности (рис. 3.2).

Перестановка элементов блока

3. Сложение блока с подключем

Ei 1 Ei Ki

12

Подстановка. Это нелинейные преобразования блоков в блоки такой же длины. Нелинейные преобразования подстановок часто задаются таблицей

вход

Подстановка S блок

выход

Вход 1

Выход

1

0000

0110

 

0001

1000

 

0010

0010

 

0011

0011

 

0100

1001

 

0101

1010

 

0110

0101

 

0111

1100

 

1000

0001

 

1001

1110

 

1010

0100

 

1011

0111

 

1100

1011

 

1101

1101

 

1110

0000

 

1111

1111

 

13

p1 p2 p3 p4

 

 

+¿

 

X1

X2

X3

X4

Подстановка S блок

E1

E2

E3

E4

{K1,K2,K3, K4} Ключ

E= S(P+K)

Предположим X3=E1+E4 тогда, зная E! и E2 , находим Х3.

Далее находим K3=P3+X3

14

Рис. 3.5. Структура
S-блока ППШ

Для решения этой задачи для полного шифра будет использован

следующий подход, состоящий из двух этапов:

1) сначала исследуются отдельныеS-блоки (так как только они имеют нелинейность) и находится их наилучшая аппроксимация линейными

уравнениями;

2) затем производится объединение всех S -

X 1 X 2 X 3 X 4

 

 

 

 

 

 

блоков для установления полной связи входа всего

 

 

 

 

 

 

 

 

 

 

 

 

шифра с его выходом.

 

 

S -блок

 

 

 

 

Рассмотрим решение задачи на первом этапе.

4×4

 

 

 

 

 

 

 

 

Проведем анализ возможностей по линейной

Y

 

 

 

 

 

аппроксимации S-блока для учебного шифра,

1 Y2 Y3 Y4

представленного ранее таблицей с четырьмя входами

и четырьмя выходами для каждого S-блока(табл. 3.1 и рис. 3.5).

Рассмотрим в качестве первой попытки аппроксимации следующее уравнение:

X2 X 3 Y1 Y3 Y4 0 , что эквивалентно равенству X 2 X3 Y1 Y3 Y4.

Перебирая 16 возможных входов X1 X 2 X3 X4 , мы можем наблюдать

частоту выполнения данного равенства, используя табл. 3.1, определяющую преобразование входов S-блоков в их выходы.

15

Примеры расчета линейных аппроксимаций S-BOX-а

X1 X2 X3 X4

Y1

Y2

Y3

Y4

X2 X3

Y1 Y3 Y4

X1 X4

Y2

X3 X4

Y1 Y4

0

0

0

0

1

1

1

0

 

 

0

1

0

1

0

0

0

0

0

1

0

1

0

0

0

0

1

1

1

0

0

0

1

0

1

1

0

1

1

0

0

1

1

0

0

0

1

1

0

0

0

1

1

1

1

0

0

1

0

1

0

0

0

0

1

0

1

1

0

0

0

0

0

1

0

1

1

1

1

1

1

1

1

1

1

0

0

1

1

0

1

0

1

1

0

1

0

0

1

0

0

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

0

0

0

1

1

0

0

1

0

0

1

1

0

0

1

1

0

1

0

0

0

0

0

1

1

1

0

1

0

0

1

1

0

1

1

1

1

1

0

1

0

1

1

1

1

0

0

1

1

0

1

0

1

1

1

0

0

0

1

0

1

1

1

1

1

0

1

1

1

0

1

1

0

0

1

1

0

0

0

1

0

1

1

1

0

0

0

0

0

0

0

1

0

1

0

1

1

1

1

0

1

1

1

0

0

0

1

0

1

16

Из табл. 3.3 видим, что в 12случаях из 16 равенство выполняется.

Тогда можно определить так называемый «перекос вероятности», т. е.

отклонение ееот 1

2

:

12

1

1 .

 

 

 

 

 

 

 

16

2

4

 

 

 

Для другого

 

уравнения

X 1 X 4 Y2 аналогично

получаем

перекос

вероятности, равный 0, а для уравнения X 3 X4 Y1

Y4 перекос будет

следующий:

 

2

 

 

 

1

3

.

В последнем случае

скорее

уместно

16

 

 

8

 

 

 

 

2

 

 

 

 

рассматривать аппроксимацию вида X 3 X4 Y1 Y4 1, но это не имеет

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

В табл. 3.4 представлены результаты проверки всех видов комбинаций (записанных в 16-ричной форме), связывающих входы и выходы S-блока, при различных входных последовательностях. На пересечении дается количество выполненных уравнений минус 8. Тогда для получения перекоса надо разделить на 16 значения, приведенные в табл. 3.4.

17

Таблица перекосов

Полный набор линейных аппроксимаций для S-блока

 

 

 

 

 

 

 

 

Выходные суммы

 

 

 

 

 

 

 

 

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

 

0

+8

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

 

1

0

0

–2

–2

0

0

–2

+6

+2

+2

0

0

+2

+2

0

0

В

2

0

0

–2

–2

0

0

–2

–2

0

0

+2

+2

0

0

–6

+2

3

0

0

0

0

0

0

0

0

+2

–6

–2

–2

+2

+2

–2

–2

х

4

0

+2

0

–2

–2

–4

–2

0

0

–2

0

+2

+2

–4

+2

0

о

д

5

0

–2

–2

0

–2

0

+4

+2

–2

0

-4

+2

0

–2

–2

0

н

6

0

+2

-2

+4

+2

0

0

+2

0

–2

+2

+4

–2

0

0

–2

ы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е7 0 –2 0 +2 +2 -4 +2 0 –2 0 +2 0 +4 +2 0 +2 8 0 0 0 0 0 0 0 0 –2 +2 +2 –2 +2 –2 –2 –6

с

9

0

0

–2

–2

 

0

0

–2

–2

 

–4

0

–2

+2

0

+4

+2

–2

у

A

0

+4

–2

+2

 

–4

0

+2

–2

 

+2

+2

0

0

+2

+2

0

0

м

B 0

+4

0

-4 +4

0

+4

0

 

0

0

0

0

0

0

0

0

м

C

0

–2

+4

–2

 

–2

0

+2

0

 

+2

0

+2

+4

0

+2

0

–2

ы

 

 

D

0

+2

+2

0

 

–2

+4

0

+2

 

–4

–2

+2

0

+2

0

0

+2

 

 

 

 

E

0

+2

+2

0

 

–2

–4

0

+2

 

–2

0

0

–2

–4

+2

–2

0

 

F

0

–2

–4

–2

 

–2

0

+2

0

 

0

–2

+4

–2

–2

0

+2

0

 

 

Пример 3.1.1. x

3

4

0011

 

1

4

 

 

 

 

 

 

 

 

 

x

3 ; Y

Y

1001

9 .

 

 

 

На пересечении получаем –6, и тогда величина перекоса вероятности будет следующая: 166 83.

18

Анализ линейной аппроксимации для полного шифра

Для этого необходимо выбрать линейные комбинации,

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

Далее будем использовать следующие обозначения:

Ui – входная последовательность для S-блока наi-м раунде; Vi – выходная последовательность дляS-блока наi-м раунде; Uij j-й бит блока Ui ;

Vij j-й бит блока Vi ;

ki – блок ключей на входеi-го раунда;

kij j-й бит блока ki .

Из приведенной на рис.3.6 схемы видим, что U1 P k1, где P – открытое сообщение.

19

20

Пример 3.1.2. Выберем следующую аппроксимацию дляS-блоков: S12 : X1 X3 X 4 Y2 с вероятностью 34 ; S22 : X2 Y2 Y4 с вероятностью 14 ; S32 : X2 Y2 Y4 с вероятностью 14 ; S34 : X 2 Y2 Y4 с вероятностью 14 .

Пояснение к расчету вероятности для S12.

По таблице для X1+X3+X4 (знак B по вертикали и для Y2 знак 1 по горизонтали находим перекос +4. Находим перекос вероятности 4/16 =1/4. Тогда вероятность

выполнения равенства 1/4 + 1/2 = ¾.

Используя аппроксимацию для S12 , получаем уравнение для выхода 1-

го раунда

V U

15

U

17

U

P

k

 

P

k

 

 

P k

 

с вероятностью

 

3

4

. (3.2)

16

 

 

18 5

1,5

7

1,7

 

8 1,8

 

 

 

21

22