Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лабораторная работа №1 (DES) - файл 1.doc


Лабораторная работа №1 (DES)
скачать (1440 kb.)

Доступные файлы (1):

1.doc1440kb.20.12.2011 10:37скачать

содержание

1.doc

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

( ГОУ ВПО )

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ, ИНФОРМАТИКИ И МЕХАНИКИ

КАФЕДРА ТЕХНИЧЕСКОЙ КИБЕРНЕТИКИ И АВТОМАТИЧЕСКОГО РЕГУЛИРОВАНИЯ


О Т Ч Е Т

по лабораторной работе №1

«Система шифрования данных DES»

Выполнил:

Проверил:
Воронеж

2008

С О Д Е Р Ж А Н И Е

ПОСТАНОВКА ЗАДАЧИ…………………………………………………..3

  1. ПРИНЦИПЫ РАБОТЫ АЛГОРИТМА DES……………………......4

  2. ОПИСАНИЕ АЛГОРИТМА DES………………………………..…. 5

  3. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ ОБУЧАЮЩЕЙ

ПРОГРАММЫ……………………………………………………………….10

  1. ШИФРОВАНИЕ И ВЫЯВЛЕНИЕ ОШИБОК В ОБУЧАЮЩЕЙ

ПРОГРАММЕ…………………………………………………………18

  1. ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ………………………...19

ВЫВОДЫ……………………………………………………………… .……20

БИБЛИОГРАФИЧЕСКИЙ СПИСОК………………….……………………21

ПОСТАНОВКА ЗАДАЧИ

  1. Ознакомиться с обучающей программой «DES Tutorial».

  2. Сформулировать принципы работы алгоритма.

  3. Зафиксировать последовательность этапов и результаты тестирования.

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

  5. Ответить на контрольные вопросы.

  6. Составить отчет о проделанной работе.

1.ПРИНЦИПЫ РАБОТЫ АЛГОРИТМА DES

DES ( Data Encryrtion Standard – стандарт шифрования данных)

DES оперирует блоками 64-битного размера и использует 56-битный ключ, такая длина ключа соответствует 1017 комбинаций, что обеспечивало до недавнего времени достаточный уровень безопасности, (8 четных битов полного 64-битного ключа не используются, биты четности являются наименьшими значащими битами байтов ключа). Входной блок данных, состоящий из 64 бит, преобразуется в выходной блок идентичной длины. Используются методы шифрования: перестановка, сложение по модулю 2, сдвиги.

DES - симметричная криптосистема, определенная как 16-раундовый шифр Фейстеля (Feistel) была первоначально предназначена для аппаратной реализации. Когда DES используется для передачи информации, то чтобы зашифровать и расшифровать сообщение или чтобы создать и проверить код подлинности сообщения (MAC) отправитель и получатель должны знать секретный ключ. DES может также использоваться одним пользователем, например, для шифрования файлов на жестком диске. В многопользовательской среде организовать защищенное распределение ключа сложно; идеальное решение этой проблемы предлагает криптография общего ключа.

2.ОПИСАНИЕ АЛГОРИТМА DES

Структура алгоритма шифрования DES:



  1. Сначала 64 бита входной последовательности перестанавливаются в соответствии с таблицей “Начальная перестановка”:


58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 9 31 23 15 7

Таким образом, бит 58 входной последовательности становится битом 1, а бит 50 — 2 и т.д.

  1. Полученный в (1.) блок делится на две 32-разрядные части L(0) и R(0)

L(0) R(0)

1 2 3 4 33 34 35 36

5 6 7 8 37 38 39 40

9 10 11 12 41 42 43 44

13 14 15 16 45 46 47 48

17 18 19 20 49 50 51 52

21 22 23 24 53 54 55 56

25 26 27 28 57 58 59 60

29 30 31 32 61 62 63 64

  1. Функция выбора и перестановки последовательности B.

Вначале над ключом шифра выполняется операция B, которая сводится к выбору определенных бит и их перестановке, как это показано в таблице:

57 49 41 33 25 17 9

1 58 50 42 34 26 18

10 2 59 51 43 35 27

19 11 3 60 52 44 36

63 55 47 39 31 23 15

7 62 54 46 38 30 22

14 6 61 53 45 37 29

21 13 5 28 20 12 4

  1. Получение последовательностей С(О), D(О)

Заметим, что первые четыре строки из таблицы пункта (3.) определяют, как выбираются биты последовательности С(О) (первым битом С(О) будет бит 57 бит ключа шифра, затем бит 49 и т.д., а последними битами биты 44 и 36 ключа шифра), а следующие четыре строки - как выбираются биты последовательности D(О) (т.е. последовательность D(О) будем строить из битов 63,55,...,12, 4 ключа шифра).

Как видно из вышеуказанной таблицы, для генерации последовательностей С(О) и D(О) не используются биты 8,16,25,32,40,48,56 и 64 ключа шифра. Эти биты не влияют на шифрование и могут служить для других целей (например, для контроля по четности). Таким образом, в действительности ключ шифра является 56-битовым. После определения С(О) и D(О) рекурсивно определяются С(i) и D(i). i=1 ,2,..., 16.

Для этого применяются операции сдвига влево на один или два бита в зависимости от номера шага итерации.

  1. и 6.

Получение последовательности С(i)

Операции сдвига выполняются для последовательностей С(i) и D(i) независимо. Например, последовательность С(2) получается, посредством сдвига влево на две позиции последовательности С(1), а последовательность D(2) - посредством сдвига влево на две позиции последовательности D(1). Следует иметь в виду, что выполняется циклический сдвиг влево. Например, единичный сдвиг влево последовательности С(i) приведет к тому, что первый бит С(i) станет последним и последовательность бит будет следующая: 2,3,..., 28,1.

Функция сдвига S(i)

1 1

2 1

3 2

4 2

5 2

6 2

7 2

8 2

9 1

10 2

11 2

12 2

13 2

14 2

  1. 2

  2. 1



  1. Получение последовательности K(i)

Ключ К(i), определяемый на каждом шаге итерации, есть результат выбора определенных бит из 56-6 итоговой последовательности С(i)D(i) и их перестановки. другими словами, К(i) = К (С(i)D(i)), где функция К определяется данными, приведенными в таблице :

14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
Как следует из таблицы первый бит К(i) - это бит 14 последовательности С(i)D(i), второй - бит 17, последний - бит 32.

  1. Функция E


Функция расширения E, выполняющая расширение 32 бит до 48, определяется таблицей:

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 13 14 15 16 17

16 17 18 19 20 21

20 21 22 23 24 25

24 25 26 27 28 29

28 29 30 31 32 1

Вычисление функции f(R(i-1),K(i))

Для вычисления значения функции f используются следующие функции-матрицы:

  • Е - расширение 32-битовой последовательности до 48-битовой,

  • S1, S2, ... , S8 - преобразование 6-битового блока в 4-битовый,

  • Р - перестановка бит в 32-битовой последовательности.

Функция расширения Е определяется таблицей. В соответствии с этой таблицей первые 3 бита Е(R(i-1)) - это биты 32, 1 и 2, а последние - 31, 32 и 1.

  1. Функции S(i)

Результат функции Е(R(i-1)) есть 48-битовая последовательность, которая складывается по модулю 2 (операция xor) с 48-битовым ключом К(i). Получается 48-битовая последовательность, которая разбивается на восемь 6-битовых блоков То есть:

E(R(i-1)) xor K(i) = B(1)B(2)...B(8). Функции S1, S2, ... , S8 определяются:

S(1)

14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7

0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8

4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0

15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

S(2)

15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10

3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5

0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15

13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9

S(3)

10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8

13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1

13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7

1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12

S(4)

7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15

13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9

10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4

3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14

S(5)

2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9

14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6

4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14

11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3

S(6)

12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11

10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8

9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6

4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13

S(7)

4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1

13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6

1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2

6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12

S(8)

13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7

1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2

7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8

2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

Каждая из функций S(i)B(i) преобразовывает 6-битовый код в 4-битовый выход по следующему алгоритму:
• первый и последний биты входной последовательности В, определяют номер строки.
• второй, третий, четвертый и пятый биты последовательности В задают номер колонки
• результат преобразования выбирается из строки и колонки и полученное число переводится в двоичное.




  1. Функция шифрования


Для вычисления функции F используется функция E, функции S(i) и функции P (перестановка бит в 32-битовой последовательности). Аргументами функции шифрования являются R (32 бита) и K (48 бит). Результат функции E(R) есть 48-битовое число, которое раскладывается по модулю 2 с числом K. Таким образом получается 48-битовая последовательность, которая рассматривается, как конкатенация 8 строк длиной по 6 бит. Результат функции S(i)B(i)-4 битовая последовательность, которую будем обозначать L(i).

  1. Конечная перестановка



Конечная перестановка осуществляется с помощью таблицы:

40 8 48 16 56 24 64 32

39 7 47 15 55 23 63 31

38 6 46 14 54 22 62 30

37 5 45 13 53 21 61 29

36 4 44 12 52 20 60 28

35 3 43 11 51 19 59 27

34 2 42 10 50 18 58 26

33 1 41 9 49 17 57 25

3.РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ ОБУЧАЮЩЕЙ ПРОГРАММЫ

Дано: Открытый текст-«Автограф», ключ шифрования-«Казусный»





























4.ШИФРОВАНИЕ И ВЫЯВЛЕНИЕ ОШИБОК В ОБУЧАЮЩЕЙ ПРОГРАММЕ





5.Ответы на контрольные вопросы

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Кабанов Е.В. Обучающая программа DES./ Е.В. Кабанов,

М.В. Прокопов [электронный ресурс]./ blackwolf@mail.ru.

2. Воронков Б.Н. Конспект лекций по курсу «Криптографические методы защиты информации»[Электронный ресурс]./ Б.Н.Воронков. – Воронеж: ВГУ, 2008. – 59с.

^ 3. Шифрование DES - теория и практика [Электронный ресурс]./ http://www.allbest.ru/referat/

4. Свободная энциклопедия [Электронный ресурс]./ http://ru.wikipedia.org/wiki/DES


Скачать файл (1440 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации