Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Des-ofb




DES-CFB

DES-CBC

DES-ECB

Цель работы

Приобретение навыков шифрования и дешифрования сообщений и файлов любого вида на основе стандарта DES.

2. Теоретические положения

Для наиболее полного удовлетворения всем требованиям, предъявляемым к коммерческим системам шифрования, реализованы несколько алгоритмов стандарта DES, рассмотренного в предыдущей лабораторной работе. Наиболее широкое распространение получили режимы:

¨ электронный шифроблокнот (Electronic Codebook) – ECB;

¨ цепочка цифровых блоков (Cipher Block Chaining) – CBC;

¨ цифровая обратная связь (Cipher Feedback)– CFB;

¨ внешняя обратная связь (Output Feedback) – OFB.

Рассмотрим перечисленные режимы.

 

Длинный файл разбивается на 64-битовые отрезки (по 8 байт). Каждый из этих блоков кодируется независимо с использованием одного и того же ключа шифрования. Основное достоинство этого алгоритма – простота реализации. Недостаток – относительно слабая устойчивость против квалифицированных криптоаналитиков.

В частности, не рекомендуется использовать данный режим работы для шифрования.ЕХЕ файлов, потому что первый же блок – заголовок файла. Является вполне удачным началом для взлома всего шифра.

В этом режиме исходный файл М разбивается на 64 битовые блоки: М = М1М2…Мn. Тогда для всех i=1,..., N (N – число блоков) результат шифрования Ci будет определяться следующим образом:

С0 = начальное значение

Ci = DES(Mi xor Ci-1)

Дешифрование выполняется в обратном порядке.

С0 = начальное значение

Mi = Ci-1 xor DES(Ci)

Прелесть данного режима состоит в том, что он не позволяет накапливаться ошибкам при передаче. Блок Mi является функцией только Ci и Ci-1. Поэтому ошибка при передаче приведет к потере только двух блоков исходного текста.

В этом режиме файл подлежащий шифрованию/дешифрованию, считывается последовательными блоками длиной t битов (t = 1,...,64). 64-битовый регистр сдвига инициализируется строкой S0, которая может быть либо заполнена пробелами, либо в нее записывается исходное значение ключа K. Предположим, что в результате разбиения на блоки мы получили N блоков, длиной по t битов каждый (остаток дописывается нулями или пробелами). Тогда для любого i = 1,…, N:

Ci = Mi xor Pi,

где Pi обозначает t старших битов предыдущего зашифрованного блока. Обновление сдвигового регистра осуществляется путем удаления его старших t битов и дописывания Ci справа.

Восстановление зашифрованных данных также не представляет труда: Pi и Ci вычисляются аналогичным образом и

Mi = Ci xor Pi

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

Пусть M = M1M2…Mn. Для всех i = 1, N,

Ci = Mi xor Pi,

где Pi – старшие t битов операции DES(Si-1). Отличие от режима CFB состоит в методе обновления сдвигового регистра. В данном случае это осуществляется путем отбрасывания старших t битов и дописывания справа Pi.

3. Задание на работу

Получить вариант задания у преподавателя для разработки конкретного режима стандарта DES в интегрированной среде Delphi или C++ Builder для криптографических преобразований файлов любого типа. Разработать удобный интерфейс пользователя, позволяющий специалистам, мало знакомым с методами криптографии, легко шифровать и дешифровать файлы любого типа.

Вариант Название функции Обозначение
  Кодирование и декодирование в режиме «Электронный шифроблокнот (Electronic Codebook) – ECB» Coder_DES_ECB(AnsiString in_F, AnsiString out_F, AnsiString Klutch) Decoder_DES_ECB(AnsiString in_F, AnsiString out_F, AnsiString Klutch) in_F – имя с полным путем исходного шифруемого файла; out_F – имя с полным путем результирующего зашифрованного файла; Klutch – 8-и символьный криптографический ключ;
  Кодирование и декодирование в режиме «Цепочка цифровых блоков (Cipher Block Chaining) – CBC» Coder_DES_CBC(AnsiString in_F, AnsiString out_F, AnsiString Klutch) Decoder_DES_CBC(AnsiString in_F, AnsiString out_F, AnsiString Klutch) in_F – имя с полным путем исходного шифруемого файла; out_F – имя с полным путем результирующего зашифрованного файла; Klutch – 8-и символьный криптографический ключ;
  Кодирование и декодирование в режиме «Цифровая обратная связь (Cipher Feedback)– CFB» Coder_DES_CFB(AnsiString in_F, AnsiString out_F, AnsiString Klutch) Decoder_DES_CFB(AnsiString in_F, AnsiString out_F, AnsiString Klutch) in_F – имя с полным путем исходного шифруемого файла; out_F – имя с полным путем результирующего зашифрованного файла; Klutch – 8-и символьный криптографический ключ;
  Кодирование и декодирование в режиме «Внешняя обратная связь (Output Feedback) – OFB» Coder_DES_OFB(AnsiString in_F, AnsiString out_F, AnsiString Klutch) Decoder_DES_OFB(AnsiString in_F, AnsiString out_F, AnsiString Klutch) in_F – имя с полным путем исходного шифруемого файла; out_F – имя с полным путем результирующего зашифрованного файла; Klutch – 8-и символьный криптографический ключ;

В случае проектирования ПО в интегрированной среде Delphi в списках формальных аргументов вместо типа AnsiString необходимо использовать тип String (AnsiString in_F º in_F: String).

4. Оборудование

ПЭВМ с архитектурой IBM PC, операционная система – Windows 95, интегрированная среда – C++ Builder или Delphi версии не ниже 3.0

5. Порядок выполнения работы

1) Согласно полученному варианту задания разработать и отладить ПО конкретного режима стандарта DES.

2) Разработать интерфейс пользователя с использованием визуальных компонентов библиотеки Win32.

3) Оформить отчет.

6. Оформление отчета

Отчет должен содержать:

− задание на лабораторную работу;

− листинг разработанного ПО для реализации конкретного режима стандарта DES;

− экранные формы интерфейса пользователя.

7. Контрольные вопросы

1) Приведите краткое сравнение режимов шифрования и дешифрования стандарта DES.

2) В каком случае какой режим стандарта DES целесообразнее использовать?

3) Каким образом функции, приведенные в таблице вариантов заданий, реализовать в dll-библиотеке?

4) Если функции, приведенные в таблице вариантов заданий, реализовать в dll-библиотеке, то каким образом их можно выполнить?

5) Чем отличаются режимы DES ECB и CBC?

6) Чем отличаются режимы DES CFB и OFB?

7) Какой из режимов DES, приведенных в таблице вариантов заданий отличается минимальной сложностью алгоритма?

8) Какой из режимов DES, приведенных в таблице вариантов заданий отличается максимальной сложностью алгоритма?




Поделиться с друзьями:


Дата добавления: 2015-05-07; Просмотров: 1632; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.