Практически. БКС практические. Перечень лабораторных работ
Скачать 1.44 Mb.
|
Ê1 10000000 ,Ê2 00000001 , IP 81234567 . Ð4 1243 1 0 S0 3 3 0 3 2 , 2 1 0 2 1 3 2 1 0 1 0 2 3 S1 2 0 1 3 3 0 1 2 2 1 0 3 Проиллюстрировать работу S-DES (1 итерация) в режиме ECB, CBC. IV= 0. P 08180611 , K 0000 01 Контрольные вопросы: Принцип работы алгоритма DES. Описать принцип работы тройного DES ЛАБОРАТОРНАЯ РАБОТА № 2«Шифрование информации с использованием стандарта RSA» (2 часа) ПМ.03 «Эксплуатация объектов сетевой инфраструктуры» МДК.03.02 Безопасность компьютерных сетей Составители(авторы) ВилковА.Н. преподаватель ФГБОУ ВО "РЭУ им. Г.В.Плеханова" Цель работы Изучить принцип работы асимметричных алгоритмов шифрования на примере алгоритма RSA. Освоить методику создания комбинированных алгоритмов шифрования, которые совмещают достоинства методов симметричной и асимметричной криптографии. Алгоритм шифрования RSA Алгоритм RSA был разработан в 1977 году Роном Ривестом, Ади Шамиром и Леном Адле- маном и опубликован в 1978 году. С тех пор алгоритм Rivest-Shamir-Adleman (RSA) широко применяется практически во всех приложениях, использующих криптографию с открытым клю- чом [1, 2, 3]. Алгоритм RSA состоит из трёх этапов: Вычисление ключей. Важным моментом в этом криптоалгоритме является создание пары ключей: открытого и закрытого. Для алгоритма RSA этап создания ключей состоит из следующих операций: Выбираются два простых различных числа и . Вычисляется их произведение , называемое модулем. Вычисляется функция Эйлера ( ) ( ) ( ). Выбирается произвольное число ( ) такое, что ( ) и не имеет с числом ( ) других общих делителей, кроме 1 (т.е. оно является взаимно простым с ним). Вычисляется (алгоритмом Евклида) таким образом, что ( ) делилось на ( ). Два числа ( ) публикуются как открытый ключ. Число хранится в секрете. Пара ( ) есть закрытый ключ, который позволит читать все послания, зашифрованные с помощью пары чисел ( ). Шифрование с помощью этих ключей производится следующим образом: Отправитель разбивает своё сообщение на блоки . Значение , поэтому длина блока открытого текста в битах не больше [ ] бит, где квадратные скобки обозначают взятие целой части от дробного числа. Например, если , то макси- мальная длина блока открытого текста [ ] [ ] бита. Подобный блок может быть интерпретирован как число из диапазона ( ). Для каждого такого числа вычисляется выражение ( – зашифрованное сообщение): ( ) . В качестве размера блока зашифрованного текста следует брать ⌈ ⌉ бит, где операция ⌈ ⌉ – это округление вверх до ближайшего целого. Необходимо добавлять нулевые биты слева в двоичное представление блока до разме- ра бит. Дешифрование производится следующим образом: Чтобы получить открытый текст, надо каждый блок зашифрованного текста длиной бит дешифровать отдельно: Пример: ( ) . Выбрать два простых числа , . Вычислить . Вычислить ( ) ( ) ( ) . Выбрать так, чтобы было взаимно простым с ( ) и меньше, чем ( ): . Определить так, чтобы и : , т.к. . Результирующие ключи: открытый ключ ( ) и закрытый ключ ( ). Пусть, например, требуется зашифровать сообщение : ( ). Для дешифрования вычисляется ( ) . Задание Результатом данной лабораторной работы должны стать приложения, совмещающие в себе достоинства симметричных и асимметричных методов шифрования. Реализовать приложение для шифрования, позволяющее выполнять следующие действия: Вычислять открытый и закрытый ключи для алгоритма RSA: числа и генерируются программой или задаются из файла; числа и должны быть больше, чем ; сгенерированные ключи сохраняются в файлы: открытый ключ ( ) – в один файл, закрытый ( ) – в другой. Шифровать указанным в варианте симметричным алгоритмом открытый текст, а асим- метричным – ключ симметричного алгоритма: шифруемый текст должен храниться в одном файле, открытый ключ ( ) для алгоритма RSA – в другом; ключ для симметричного алгоритма должен генерироваться случайным образом; зашифрованный текст должен сохраняться в одном файле, а зашифрованный асим- метричным алгоритмом ключ симметричного алгоритма – в другом; в процессе шифрования предусмотреть возможность просмотра и изменения шиф- руемого текста в шестнадцатеричном и символьном виде; программа должна уметь работать с текстом произвольной длины. Реализовать приложение для дешифрования. Зашифрованный текст должен храниться в одном файле, зашифрованный ключ симмет- ричного алгоритма – в другом, а секретный ключ для алгоритма RSA – в третьем. Приложение расшифровывает зашифрованный ключ с помощью алгоритма RSA, а за- тем с помощью симметричного алгоритма с ключом расшифровывает зашифрованный текст. Расшифрованный текст должен сохраняться в файл. В процессе дешифрования предусмотреть возможность просмотра и изменения зашиф- рованного текста в шестнадцатеричном и символьном виде. Программа должна уметь работать с текстом произвольной длины. С помощью реализованных приложений выполнить следующие задания. Протестировать правильность работы разработанных приложений. Сделать выводы о проделанной работе. Контрольные вопросы: В чём заключается алгоритм RSA? Для чего и почему используют комбинированные криптоалгоритмы? В чём заключаются достоинства и недостатки асимметричных алгоритмов? В чём заключаются достоинства и недостатки симметричных алгоритмов? |