Дифференциальный и линейный криптоанализ блочных шифров
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ
ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Факультет информационной безопасности
Курсовая работа
По курсу «КМ СОИБ»
«Дифференциальный и линейный криптоанализ блочных шифров»
Вариант № 34200
ст. гр. И-20
Выполнил ____________ Ефимов А.А.
(подпись)
доц. каф. БИТ
Проверил ____________
(подпиcь)
Цель:
Научиться выполнять дифференциальный и линейный криптоанализ блочных шифров, используя незашифрованные и зашифрованные тексты, найти ключ шифрования.
Часть 1.
Порядок выполнения:
- Для каждого из заданных блоков замены проводим статистический анализ и составляем три таблицы зависимости ∆С от ∆А для S1, S2 и S3.
- Находим наиболее вероятные пары значений и выписываем их координаты.
- Используя таблицу перестановки с расширением до 12 бит, находим ∆А и ∆С, вносим их в исходные данные, задаем количество шифруемых текстов и начинаем шифрование.
- С помощью результатов шифрования находим ключ.
Вариант № 34200
Таблица перестановки: 87325416
Таблица перестановки с расширением: 431687254367
Таблицы
вероятности для трех блоков замены
вычисляются с помощью
S1
Таблица S1:
а1 |
а2а3а4 | |||||||
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 | |
0 |
2 |
1 |
0 |
4 |
1 |
2 |
6 |
5 |
1 |
4 |
7 |
3 |
5 |
7 |
6 |
0 |
3 |
Принцип работы первого блока замены.
Вход |
Выход |
0000 |
010 |
0001 |
001 |
0010 |
000 |
0011 |
100 |
0100 |
001 |
0101 |
010 |
0110 |
110 |
0111 |
101 |
1000 |
100 |
1001 |
111 |
1010 |
011 |
1011 |
101 |
1100 |
111 |
1101 |
110 |
1110 |
000 |
1111 |
011 |
Вероятностная таблица анализа для первого блока замены
∆А1 |
∆С1 | |||||||
|
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 | |
0000 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0001 |
0 |
1/8 |
0 |
5/8 |
1/8 |
0 |
1/8 |
0 |
0010 |
0 |
0 |
1/4 |
0 |
0 |
1/4 |
0 |
1/2 |
0011 |
0 |
1/4 |
0 |
0 |
1/2 |
0 |
1/4 |
0 |
0100 |
0 |
1/4 |
0 |
1/2 |
0 |
0 |
1/4 |
0 |
0101 |
1/2 |
0 |
1/4 |
0 |
0 |
1/4 |
0 |
0 |
0110 |
0 |
1/8 |
0 |
1/8 |
5/8 |
0 |
1/8 |
0 |
0111 |
0 |
0 |
1/4 |
0 |
0 |
1/4 |
0 |
1/2 |
1000 |
0 |
1/8 |
0 |
1/8 |
1/8 |
0 |
5/8 |
0 |
1001 |
0 |
0 |
0 |
0 |
0 |
3/4 |
0 |
1/4 |
1010 |
0 |
1/2 |
0 |
1/4 |
1/4 |
0 |
0 |
1/4 |
1011 |
1/4 |
0 |
1/2 |
0 |
0 |
0 |
0 |
1/4 |
1100 |
1/4 |
0 |
0 |
0 |
0 |
1/2 |
0 |
1/4 |
1101 |
0 |
0 |
0 |
1/4 |
1/4 |
0 |
1/2 |
0 |
1110 |
0 |
0 |
3/4 |
0 |
0 |
0 |
0 |
1/4 |
1111 |
0 |
5/8 |
0 |
1/8 |
1/8 |
0 |
1/8 |
0 |
S2
Таблица S2:
а1 |
а2а3а4 | |||||||
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 | |
0 |
2 |
4 |
2 |
7 |
0 |
6 |
0 |
6 |
1 |
5 |
3 |
4 |
3 |
5 |
1 |
7 |
1 |
Принцип работы второго блока замены.
Вход |
Выход |
0000 |
010 |
0001 |
100 |
0010 |
010 |
0011 |
111 |
0100 |
000 |
0101 |
110 |
0110 |
000 |
0111 |
110 |
1000 |
101 |
1001 |
011 |
1010 |
100 |
1011 |
011 |
1100 |
101 |
1101 |
001 |
1110 |
111 |
1111 |
001 |
Вероятностная таблица анализа для второго блока замены
∆А1 |
∆С1 | |||||||
|
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 | |
0000 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0001 |
0 |
0 |
0 |
0 |
1/8 |
1/8 |
5/8 |
1/8 |
0010 |
5/8 |
1/8 |
1/8 |
1/8 |
0 |
0 |
0 |
0 |
0011 |
0 |
0 |
0 |
0 |
1/8 |
1/8 |
5/8 |
1/8 |
0100 |
1/8 |
1/8 |
5/8 |
1/8 |
0 |
0 |
0 |
0 |
0101 |
0 |
0 |
0 |
0 |
5/8 |
1/8 |
1/8 |
1/8 |
0110 |
0 |
1/4 |
3/4 |
0 |
0 |
0 |
0 |
0 |
0111 |
0 |
0 |
0 |
0 |
5/8 |
1/8 |
1/8 |
1/8 |
1000 |
0 |
0 |
0 |
0 |
1/8 |
1/8 |
1/8 |
5/8 |
1001 |
0 |
3/4 |
0 |
1/4 |
0 |
0 |
0 |
0 |
1010 |
0 |
0 |
0 |
0 |
1/8 |
1/8 |
1/8 |
5/8 |
1011 |
1/8 |
5/8 |
1/8 |
1/8 |
0 |
0 |
0 |
0 |
1100 |
0 |
0 |
0 |
0 |
1/8 |
5/8 |
1/8 |
1/8 |
1101 |
1/8 |
1/8 |
1/8 |
5/8 |
0 |
0 |
0 |
0 |
1110 |
0 |
0 |
0 |
0 |
1/8 |
5/8 |
1/8 |
1/8 |
1111 |
0 |
0 |
1/4 |
3/4 |
0 |
0 |
0 |
0 |
S3
Таблица S3:
а1а4 |
а2а3 | |||
00 |
01 |
10 |
11 | |
00 |
1 |
3 |
2 |
2 |
01 |
1 |
2 |
1 |
1 |
10 |
3 |
3 |
0 |
0 |
11 |
2 |
0 |
0 |
3 |
Принцип работы третьего блока замены.
Вход |
Выход |
0000 |
01 |
0001 |
01 |
0010 |
11 |
0011 |
10 |
0100 |
10 |
0101 |
01 |
0110 |
10 |
0111 |
01 |
1000 |
11 |
1001 |
10 |
1010 |
11 |
1011 |
00 |
1100 |
00 |
1101 |
00 |
1110 |
00 |
1111 |
11 |
Вероятностная таблица анализа для третьего блока замены
∆А1 |
∆С1 | |||
|
00 |
01 |
10 |
11 | |
0000 |
0 |
0 |
0 |
0 |
0001 |
1/4 |
1/4 |
0 |
1/2 |
0010 |
1/2 |
0 |
1/4 |
1/4 |
0011 |
1/8 |
1/8 |
1/8 |
5/8 |
0100 |
1/8 |
1/8 |
1/8 |
5/8 |
0101 |
1/2 |
0 |
1/4 |
1/4 |
0110 |
1/4 |
1/4 |
0 |
1/2 |
0111 |
1/2 |
0 |
1/4 |
1/4 |
1000 |
1/2 |
1/2 |
5/8 |
1/8 |
1001 |
0 |
1/2 |
1/4 |
1/4 |
1010 |
1/4 |
1/4 |
1/2 |
0 |
1011 |
0 |
3/4 |
1/4 |
0 |
1100 |
0 |
3/4 |
0 |
1/4 |
1101 |
1/4 |
1/4 |
1/2 |
0 |
1110 |
0 |
1/2 |
1/4 |
1/4 |
1111 |
1/8 |
1/8 |
5/8 |
1/8 |
Наиболее вероятные значения входных разностей для блоков замены
∆А1 |
∆А2 |
∆А3 |
|
1001 1110 |
0110 1001 1111 |
1011 1100 |
Проверим значение ∆А = 100101101011
Перестановка с расширением |
4 |
3 |
1 |
6 |
8 |
7 |
2 |
5 |
4 |
3 |
6 |
7 |
Значение∆А |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
Все биты совпадают дублированной части, значит значение ∆А найдено верно. Значение ∆С=10101001.
К разности ∆А применим перестановку Е-1, обратную перестановке с расширением и получим XR=01010110, а к разнице ∆С применим прямую перестановку Р и получим D=10101010.
Рис.1
Полученные сообщения
Значение |
К11 |
К12 |
К13 |
0000 |
3 |
5 |
7 |
0001 |
7 |
5 |
7 |
0010 |
4 |
4 |
1 |
0011 |
7 |
7 |
6 |
0100 |
7 |
4 |
6 |
0101 |
4 |
7 |
1 |
0110 |
7 |
5 |
7 |
0111 |
3 |
5 |
7 |
1000 |
7 |
5 |
6 |
1001 |
3 |
5 |
1 |
1010 |
7 |
7 |
7 |
1011 |
4 |
4 |
7 |
1100 |
4 |
7 |
7 |
1101 |
7 |
4 |
7 |
1110 |
3 |
5 |
1 |
1111 |
7 |
5 |
6 |
Рис.2
- Ключи находятся с помощью программы Lab_1.3.
Результаты анализа для 1 раундового подключа
Результаты анализа для 3 раундового подключа
Значение |
К31 |
К32 |
К33 |
0000 |
3 |
7 |
7 |
0001 |
4 |
3 |
4 |
0010 |
7 |
4 |
2 |
0011 |
3 |
3 |
2 |
0100 |
3 |
4 |
2 |
0101 |
7 |
3 |
2 |
0110 |
4 |
7 |
4 |
0111 |
3 |
3 |
7 |
1000 |
4 |
3 |
2 |
1001 |
3 |
7 |
2 |
1010 |
3 |
3 |
4 |
1011 |
7 |
4 |
7 |
1100 |
7 |
3 |
7 |
1101 |
3 |
4 |
4 |
1110 |
3 |
3 |
2 |
1111 |
4 |
7 |
2 |
Рис.3
1. для первого раундового подключа
К1 = 0001, 0011, 0100, 0110, 1000, 1010, 1101, 1111;
K2 = 0011, 0101, 1010, 1100;
K3 = 0000, 0001, 0110, 0111, 1010, 1011, 1100, 1301;
2 для третьего раундового подключа
K1 = 0010, 0101, 1011, 1100;
K2 = 0000, 0110, 1001, 1111;
K3 = 0000, 0111, 1011, 1100;
Рис. 4
Искомый ключ: 1111 1010 0110 1011 0000 0000 (FA6B00)
Часть 2.
Порядок выполнения:
- с помощью предварительного
анализа построить линейные
- обработать шифрованные
данные с помощью линейных
статистических аналогов и
- получить недостающие биты секретного ключа К. Для этого задать 15 полученных уравнений и проверить их правильность.
- определить биты секретного ключа К, решив систему уравнений с учетом полученной подсказки.
Вариант № 34200
Таблица перестановки: 87325416
Таблица перестановки с расширением: 713824653167
Анализ блоков замены осуществляется с помощью программы Lab_2.
S1
Таблица S1:
а1 |
а2а3а4 | |||||||
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 | |
0 |
1 |
3 |
5 |
7 |
3 |
1 |
7 |
5 |
1 |
6 |
2 |
4 |
0 |
4 |
0 |
6 |
2 |
Принцип работы первого блока замены.
Вход |
Выход |
0000 |
001 |
0001 |
011 |
0010 |
101 |
0011 |
111 |
0100 |
011 |
0101 |
001 |
0110 |
111 |
0111 |
101 |
1000 |
110 |
1001 |
010 |
1010 |
100 |
1011 |
000 |
1100 |
100 |
1101 |
000 |
1110 |
110 |
1111 |
010 |
Результаты анализа первого блока замены
α |
β | ||||||
001 |
010 |
011 |
100 |
101 |
110 |
111 | |
0001 |
1/2 |
1/2 |
1/2 |
1/4 |
1/4 |
1/2 |
1/2 |
0010 |
1/2 |
1/2 |
1/2 |
3/4 |
1/4 |
1/2 |
1/2 |
0011 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
0100 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
0101 |
1/2 |
3/4 |
1/4 |
1/2 |
1/2 |
1/2 |
1/2 |
0110 |
1/2 |
1/4 |
1/4 |
1/2 |
1/2 |
1/2 |
1/2 |
0111 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1 |
1/2 |
1000 |
0 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1001 |
1/2 |
1/2 |
1/2 |
3/4 |
3/4 |
1/2 |
1/2 |
1010 |
1/2 |
1/2 |
1/2 |
3/4 |
1/4 |
1/2 |
1/2 |
1011 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1100 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1101 |
1/2 |
3/4 |
1/4 |
1/2 |
1/2 |
1/2 |
1/2 |
1110 |
1/2 |
3/4 |
3/4 |
1/2 |
1/2 |
1/2 |
1/2 |
1111 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
0 |
S2
Таблица S2:
а1 |
а2а3а4 | |||||||
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 | |
0 |
3 |
5 |
0 |
6 |
0 |
6 |
5 |
3 |
1 |
2 |
2 |
7 |
7 |
1 |
1 |
4 |
4 |
Принцип работы второго блока замены.
Вход |
Выход |
0000 |
011 |
0001 |
101 |
0010 |
000 |
0011 |
110 |
0100 |
000 |
0101 |
110 |
0110 |
101 |
0111 |
011 |
1000 |
010 |
1001 |
010 |
1010 |
111 |
1011 |
111 |
1100 |
001 |
1101 |
001 |
1110 |
100 |
1111 |
100 |
Результаты анализа второго блока замены
α |
β | ||||||
001 |
010 |
011 |
100 |
101 |
110 |
111 | |
0001 |
1/2 |
5/8 |
5/8 |
5/8 |
5/8 |
1/2 |
1/2 |
0010 |
1/2 |
1/2 |
1/4 |
3/4 |
1/2 |
1/2 |
1/2 |
0011 |
1/2 |
3/8 |
5/8 |
5/8 |
3/8 |
1/2 |
1/2 |
0100 |
1/2 |
1/4 |
1/2 |
1/2 |
3/4 |
1/2 |
1/2 |
0101 |
1/2 |
3/8 |
5/8 |
5/8 |
3/8 |
1/2 |
1/2 |
0110 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
0 |
1/2 |
0111 |
1/2 |
3/8 |
3/8 |
3/8 |
3/8 |
1/2 |
1/2 |
1000 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1 |
1001 |
1/2 |
5/8 |
5/8 |
5/8 |
5/8 |
1/2 |
1/2 |
1010 |
1/2 |
1/2 |
3/4 |
1/4 |
1/2 |
1/2 |
1/2 |
1011 |
1/2 |
3/8 |
5/8 |
5/8 |
3/8 |
1/2 |
1/2 |
1100 |
1/2 |
3/4 |
1/2 |
1/2 |
1/4 |
1/2 |
1/2 |
1101 |
1/2 |
3/8 |
5/8 |
5/8 |
3/8 |
1/2 |
1/2 |
1110 |
0 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1/2 |
1111 |
1/2 |
3/8 |
3/8 |
3/8 |
3/8 |
1/2 |
1/2 |
S3
Таблица S3:
а1а4 |
а2а3 | |||
00 |
01 |
10 |
11 | |
00 |
0 |
3 |
3 |
0 |
01 |
0 |
3 |
3 |
0 |
10 |
2 |
1 |
1 |
2 |
11 |
2 |
1 |
1 |
2 |
Принцип работы третьего блока замены.
Вход |
Выход |
0000 |
00 |
0001 |
00 |
0010 |
11 |
0011 |
11 |
0100 |
11 |
0101 |
11 |
0110 |
00 |
0111 |
00 |
1000 |
10 |
1001 |
10 |
1010 |
01 |
1011 |
01 |
1100 |
01 |
1101 |
01 |
1110 |
10 |
1111 |
10 |
Результаты анализа третьего блока замены
α |
β | ||
01 |
10 |
11 | |
0001 |
1/2 |
1/2 |
1/2 |
0010 |
1/2 |
1/2 |
1/2 |
0011 |
1/2 |
1/2 |
1/2 |
0100 |
1/2 |
1/2 |
1/2 |
0101 |
1/2 |
1/2 |
1/2 |
0110 |
1 |
1/2 |
1/2 |
0111 |
1/2 |
1/2 |
1/2 |
1000 |
1/2 |
1/2 |
1 |
1001 |
1/2 |
1/2 |
1/2 |
1010 |
1/2 |
1/2 |
1/2 |
1011 |
1/2 |
1/2 |
1/2 |
1100 |
1/2 |
1/2 |
1/2 |
1101 |
1/2 |
1/2 |
1/2 |
1110 |
1/2 |
1 |
1/2 |
1111 |
1/2 |
1/2 |
1/2 |

- Дифференциальный метод оценивания уровня качества продукции
- Дифференциации продукта и монополистической конкуренции
- Дифференциации продукции
- Дифференциация
- Дифференциация доходов
- Дифференциация доходов
- Дифференциация доходов в России: макроэкономический аспект
- Дифференциальные уравнения в экономических моделях
- Дифференциальные уравнения гиперболического типа
- Дифференциальные уравнения Дарбу и Якоби
- Дифференциальные уравнения Лагранжа и Клеро
- Дифференциальные уравнения механических колебаний. Векторное и комплексное изображение гармонических колебаний
- Дифференциальные уравнения фильтрации
- Дифференциальный диагноз эпилептического припадка и истерического припадка