Дифференциальный и линейный криптоанализ блочных шифров

Автор работы: Пользователь скрыл имя, 17 Мая 2013 в 16:19, курсовая работа

Краткое описание

Цель:
Научиться выполнять дифференциальный и линейный криптоанализ блочных шифров, используя незашифрованные и зашифрованные тексты, найти ключ шифрования.

Прикрепленные файлы: 1 файл

Курсач.docx

— 1.35 Мб (Скачать документ)

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ 

 ФЕДЕРАЛЬНОЕ  ГОСУДАРСТВЕННОЕ  АВТОНОМНОЕ  ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ   ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ  

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ  УНИВЕРСИТЕТ»

 

 

 

Факультет информационной безопасности

 

 

 

 

 

 

 

 

 

Курсовая  работа

 

По курсу «КМ СОИБ»

«Дифференциальный  и линейный криптоанализ блочных шифров»

 

 

 

Вариант № 34200

 

 

 

 

 

 

 

 

 

ст. гр. И-20

Выполнил    ____________    Ефимов А.А.

           (подпись)   

 

доц. каф. БИТ

Проверил    ____________   Ищукова.Е.А

        (подпиcь)

 

 

 

 

 

 

                                                        Таганрог – 2012

Цель:

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

 

 

Часть 1.

 

Порядок выполнения:

         - Для каждого из заданных блоков замены проводим статистический анализ и составляем три таблицы зависимости ∆С от ∆А для S1, S2 и S3.

         - Находим наиболее вероятные пары значений и выписываем их координаты.

   - Используя таблицу перестановки с расширением до 12 бит, находим ∆А и ∆С, вносим их в исходные данные, задаем количество шифруемых текстов и начинаем шифрование.

         - С помощью результатов шифрования находим ключ.

 

Вариант №  34200

Таблица перестановки: 87325416

Таблица перестановки с расширением: 431687254367

 

Таблицы вероятности для трех блоков замены вычисляются с помощью программы lab_1.1, описанная в приложении А.

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

 

Полученные сообщения преобразуются  с помощью перестановок осуществленных в программе Lab_1.2

 

Значение

К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

Информация о работе Дифференциальный и линейный криптоанализ блочных шифров