50408 (Программная реализация алгоритма шифрования DES. Режим ECB)

2016-07-30СтудИзба

Описание файла

Документ из архива "Программная реализация алгоритма шифрования DES. Режим ECB", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50408"

Текст из документа "50408"

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Технологический институт Федерального государственного образовательного учреждения высшего профессионального образования

Южный федеральный университет

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

Кафедра БИТ

Пояснительная записка

к курсовому проекту

на тему:

Программная реализация алгоритма шифрования DES. Режим ЕСВ

по дисциплине

Программно-аппаратные средства защиты информации

Проверил

Г.А. Евстафьев

Таганрог 2010





СОДЕРЖАНИЕ

Введение

1. Описание алгоритма

2. Основные режимы работы алгоритма DES

3. Разработка программной реализации алгоритма

Заключение

Список использованных источников

Приложение А





Введение

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

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

Классическим примером таких алгоритмов являются симметричные криптографические алгоритмы, перечисленные ниже:

- простая подстановка;

- одиночная перестановка по ключу;

- двойная перестановка;

- перестановка "Магический квадрат";

- простая перестановка.

Полная утрата всех статистических закономерностей исходного сообщения является важным требованием к симметричному шифру. Для этого шифр должен иметь «эффект лавины» — должно происходить сильное изменение шифроблока при 1битном изменении входных данных (в идеале должны меняться значения 1/2 бит шифроблока).

Также важным требованием является отсутствие линейности (то есть условия

а(ф) чщк а(и) = а(ф чщк и))б

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

В настоящее время симметричные шифры — это:

- блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.

- поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.

Существует множество (не менее двух десятков) алгоритмов симметричных шифров, существенными параметрами которых являются:

- стойкость;

- длина ключа;

- число раундов;

- длина обрабатываемого блока;

- сложность аппаратной/программной реализации;

- сложность преобразования.

В данном курсовом проекте предлагается программная реализация алгоритма шифровании DES (режим ЕСВ).





1. Описание алгоритма

Стандарт шифрования данных DES опубликован в 1977 г. Национальным бюро стандартом США.

Стандарт DES предназначен для защиты от несанкционированного доступа к важной, но несекретной информации в государственных и коммерческих организациях США. Алгоритм, положенный в основу стандарта, распространялся достаточно быстро, и уже в 1980 г. Был одобрен Национальным институтом стандартов и технологий США. С этого момента DES превращается в стандарт не только по названию, но и фактически. Появляются программное обеспечение и специализированные микроЭВМ, предназначенные для шифрования и расшифрования информации в сетях передачи данных.

К настоящему времени DES является наиболее распространенным алгоритмом, используемым в системах защиты коммерческой информации. Более того, реализация алгоритма DES в таких системах становится признаком хорошего тона.

Основные достоинства алгоритма DES:

- используется только один ключ длиной 56 бит;

- зашифровав сообщение с помощью одного пакета программ, для расшифровки можно использовать любой другой пакет программ, соответствующий стандарту DES;

- относительная простота алгоритма обеспечивает высокую скорость обработки;

- достаточно высокая стойкость алгоритма.

Первоначально метод, лежащий в основе стандарта DES, был разработал фирмой IBM для своих целей и реализован в виде системы «Люцифер». Система «Люцифер» основана на комбинировании методов подстановки и перестановки и состоит из чередующейся последовательности блоков перестановки и подстановки. В ней использовался ключ длиной 128 бит, управлявший состояниями блоков перестановки и подстановки. Система «Люцифер» оказалась весьма сложной для практической реализации из-за относительно малой скорости шифрований.

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

Рисунок 1 - Обобщенная схема шифрования в алгоритме DES

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

Все перестановки и коды в таблицах подобраны разработчиками таким образом, чтобы максимально затруднить процесс расшифровки путем подбора ключа. Описание алгоритма приведено на рисунке 2.





Рисунок 2 - Структура алгоритма шифрования DES

Пусть из файла исходного текста считан очередной 64-битовый блок Т. Этот блок Т преобразуется с помощью матрицы начальной перестановки IP (таблица 1).

Таблица 1

Матрица начальной перестановки IP

58 50 42 34 26 18 10 02

60 52 44 36 28 20 12 04

62 54 46 38 30 22 14 06

64 56 48 40 32 24 16 08

57 49 41 33 25 17 09 01

59 51 43 35 27 19 11 03

61 53 45 37 29 21 13 05

63 55 47 39 31 23 15 07

Биты входного блока Т переставляются в соответствии с матрицей IP: бит 58 входного блока Т становится битом 1, бит 50-битом 2 и т.д. Эту перестановку можно описать выражением Т0=IP(T). Полученная последовательность битов Т0 разделяется на две последовательности: L0- левые и старшие биты, R0-правые и младшие биты, каждая из которых содержит 32 бита.

Затем выполняется итеративный процесс шифрования, состоящий из 16 циклов. Пусть Ti-результат I-й итерации:

Ti=LiRi,

где Li=t1 t2…t32; Ri=t33t34…t64. Тогда результат I-й итерации описывается следующими формулами:

Li=Ri-1, i=1,2,…,16;

Ri=Li-1 xor f(Ri-1,Ki), i=1,2,…,16.

Функции f называется функцией шифрования. Ее аргументами являются последовательность Ri-1, получаемая на предыдущем шаге итерации, и 48-битовый ключ Ki, который является результатом преобразования 64-битового ключа шифра К.

На последнем шаге итерации получают последовательность R16 и L16, который конкатенируются в 64-битовую последовательность R16L16.

По окончании шифрования осуществляется восстановление позиций битов с помощью матрицы обратной перестановки IP-1 (таблица 2).

Таблица 2

Матрица обратной перестановки IP-1

40 08 48 16 56 24 64 32

39 07 47 15 55 23 63 31

38 06 46 14 54 22 62 30

37 05 45 13 53 21 61 29

36 04 44 12 52 20 60 28

35 03 43 11 51 19 59 27

34 02 42 10 50 18 58 26

33 01 41 09 49 17 57 25

Процесс расшифрования данных является инверсным по отношению к процессу шифрования. Все действия должны быть выполнены в обратном порядке. Это означает, что расшифровываемые данные сначала переставляются в соответствии с матрицей IP-1, а затем над последовательностью битов R16L16 выполняются те же действия, что и в процессе шифрования, но в обратном порядке.

Итеративный процесс расшифрования может быть описан следующими формулами:

Ri-1= Li, i = 1, 2, ..., 16;Li-1 = Ri xor f(Li, Ki), i = 1, 2, ..., 16 .

На 16-й итерации получают последовательности L0 и R0, которые конкатенируют в 64-битовую последовательность L0R0.

Затем позиции битов этой последовательности переставляют в соответствии с матрицей IP. Результат такой перестановки - исходная 64-битовая последовательность.

Теперь рассмотрим функцию шифрования f(Ri-1,Ki). Она показана на рисунке 3.

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

- функция Е (расширение 32 бит до 48);

- функция S1,S2,…,S8 (преобразование 6-битового числа в 4-битовое);

- функция Р (перестановка битов в 32-битовой последовательности).





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

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

Таблица 3

Функция расширения E

32

01

02 03 04 05

04

05

06 07 08 09

08

09

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 01

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

E(Ri-1) xor Ki = B1B2...B8 .

Функции S1, S2, ... , S8 определяются таблицей 4.

криптосистема алгоритм защита информация





Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5076
Авторов
на СтудИзбе
455
Средний доход
с одного платного файла
Обучение Подробнее