Материал: Методические указания к практическим занятиям по дисциплине «Криптографические протоколы» для специальности «Компьютерная безопасность». Мокроусов А.Н., Остапенко А.Г

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Задание:

Используя алгоритм MD5, написать программу хеширования произвольного набора символов на любом языке программирования.

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

написать на языке программирования функцию хеширования, в которую в качестве параметров передается ключ и символ (или строка символов) исходного текста.

написать функцию проверки целостности, в которую

вкачестве параметров передается ключ и символ (или строка символов) зашифрованного текста.

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

В отчете следует привести краткие теоретические сведения. Кроме того, должны быть представлены: краткая блок-схема, текст программы, шифруемый набор символов, результаты выполнения программы.

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

1.В чем заключается суть метода шифрования MD5?

2.Какой характерной особенностью обладает инициализация MD буфера?

3.Из скольких этапов состоит главный цикл обработки сообщения?

4.В чем заключаются многоалфавитные подстановки?

5.Приведите пример шифра одноалфавитной замены.

14

Практическая работа № 4 Шифрование данных с помощью алгоритма A5

Цель работы: изучить методы шифрования данных в алгоритме А5 и освоить их практическое применение.

Теоретическое введение

Шифрование в стандарте GSM осуществляется при помощи семейства протоколов А5. В А5/0 – данные при передачи по эфиру не шифруются. Версия А5/1 применяется в «избранных» странах, таких как США и страны Западной Европы. В остальных странах используется ослабленная версия – А5/2. После того как шифры А5/2 и А5/1 были взломаны, была разработана модернизированная версия – А5/3 которая использует алгоритм Касуми.

Шифр А5/0

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

Шифр А5/1

Рассмотрим более подробно эту модификацию. В стандарте GSM во время сеанса связи между Абонентом (далее А) и Базовой станцией (далее Б) посылается последовательность кадров каждые 4.6 мс. Каждый кадр заключает в себе 114 бит оцифрованной информации от А к Б и 114-ти бит от Б к А. Каждый разговор может быть зашифрован посредством нового сессионного ключа К. Для каждого кадра, К смешивают с общеизвестным номером кадра Fn, а результат служит в качестве начального состояния генератора, который производит 228 псевдослучайных бит. Эти биты складываются по модулю 2 с двумя частями по 114

15

(114 + 114) бит не зашифрованного текста, чтобы получить 114+114 бит шифртекста.

А5/1 состоит из трех регистров сдвига с линейной обратной связью с длиной в 19, 22 и 23 бит, которые обозначены как R1, R2 и R3 соответственно. Самый крайний справа бит в регистрах на схеме помечен как нулевой бит. Обратная связь регистра R1 осуществляется в битах,

расположенных в позициях – 13, 16, 17, 18; R2 – 20, 21; R3 – 7, 20, 21, 22. Когда регистр работает, его сдвиги в ячейках обратной связи суммируются по модулю два и результат записывается в нулевой бит сдвинутого регистра. Три регистра максимальной длины с периодами 219 -1, 222 – 1 и 223 -1 соответственно. Регистры сдвигаются по следующему мажоритарному правилу: в регистре имеется один бит для

«синхронизации» (8 for R1, 10 for R2, 10 for R3). Есть мажоритарная функция f(x,y,z) = x&y +x&z +y&z ( & –

логическое И, + – логическое ИЛИ) которая калькулируется в каждом такте от трех битов синхронизации. И на данном такте сдвигу подвергаются только те регистры у которых биты синхронизации совпадают с f.

Рис. 4. Схема регистров сдвига потокового шифра А5/1

16

Процесс генерации псевдослучайных битов из сессионного ключа K и счетчика кадров Fn состоит из 4-х шагов:

1.Три регистра равны нулю, а затем проходят 64 цикла (причем управление сдвигом отсутствует). В течении данного периода каждый бит K (от младшего к старшему) складывается по модулю 2 с младшим битом каждого регистра.

2.Затем, производится еще 22 цикла (причем опять отсутствует управление сдвигом) и младшие биты регистров складываются по модулю два с битами Fn (от младшего к старшему). Состояние регистров в конце этого шага называется начальным состоянием кадра.

3.Над тремя регистрами производится еще 100 тактов с управлением сдвигом, но уже выходные псевдослучайные биты(последовательность) не генерируются.

4.228 циклов с управлением сдвигом и генерируются

228 бит выходной последовательности. Причем, один выходной бит генерируется на каждом такте как XOR старших битов трех регистров.

Шифр А5/2

В алгоритме А5/2 используется более слабая система шифрования, чем в А5/1, так как эта модификация создавалась на экспорт в страны, не входящие в ЕС. В А5/2 к трем основным регистрам добавлен еще 17 битовый, управляющий движением бит в остальных. Но криптоаналитиками было установлено, что для вскрытия системы достаточно прямым перебором найти заполнение управляющего регистра. Это осуществляется двумя кадрами по 114 бит сеанса связи (в первых двух кадрах шифруются одни нули).

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

17

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

Шифр А5/3

Основой алгоритма А5/3 служит алгоритм Касуми, утвержденный 3GPP, который в свою очередь был получен из алгоритма MISTY (Mitsubishi). Считается, что этот алгоритм обеспечивает требуемую криптостойкость.

Если изучение потоковых шифров и дает какой-либо результат, так это появление с пугающей регулярностью новых способов вскрытия. Традиционно потоковые шифры опирались на большую математическую теорию. Эту теорию можно было использовать для доказательства положительных качеств шифра, но ее же можно было использовать для поиска новых способов вскрытия шифра. По этой причине любой потоковый шифр, основанный только на LFSR, вызывает серьезное беспокойство.

Задание:

Используя алгоритм шифрования данных А5, написать программу шифрования и дешифрования произвольного набора символов на любом языке программирования.

18

Источник: https://studfile.net/preview/16563503/