Автор работы: Пользователь скрыл имя, 17 Мая 2013 в 16:19, курсовая работа
Цель:
Научиться выполнять дифференциальный и линейный криптоанализ блочных шифров, используя незашифрованные и зашифрованные тексты, найти ключ шифрования.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ
ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Факультет информационной безопасности
Курсовая работа
По курсу «КМ СОИБ»
«Дифференциальный и линейный криптоанализ блочных шифров»
Вариант № 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 |
Информация о работе Дифференциальный и линейный криптоанализ блочных шифров