Лаб4м. Лекциях, по теме " Криптосистема рша". Используемое программное обеспечение Для работы используется программа " rsa ". Задание
Скачать 44 Kb.
|
Лабораторная работа Исследование криптосистемы с открытым ключом РША Цель работы Закрепить знания, полученные на лекциях, по теме “ Криптосистема РША”. Используемое программное обеспечение Для работы используется программа “RSA”. Задание 1.Выполнить упражнения по возведению в степень больших целых чисел по модулю. 2.Произвести генерирование ключей для криптосистемы РША, а также шифрование и дешифрование с ее помощью коротких текстов. 3.Произвести шифрование файлов большого размера безопасной криптосистемой РША и оценить время шифрования и дешифрования при ее простейшей программной реализации. 4. Произвести подписание сообщений и проверку подписи . 5. Осуществить обмен зашифрованными и подписанными сообщениями в локальной сети. Порядок выполнения работы 1.Запустить программу “RSA”. Закрепление навыков модульных вычислений 2.Выбрав в главном меню опцию “Калькулятор экспонент”, рассчитать степени малых чисел по малому модулю и проверить их правильность расчетами на бумаге. 3. Рассчитать степени произвольных больших чисел по модулю прямым методом и быстрым методом. Убедиться в эффективности быстрого метода. Генерирование ключа в криптосистеме РША 4.Выбрав в главном меню опцию “Генерировать ключи”, задать малые простые числа p,q и сгенерировать ключи для РША. Проверить правильность вычислений расчетами на бумаге. 5.Произвести случайное генерирование простых чисел p,q разрядности по 100 бит каждое, задаваясь количеством проверок n=20 и используя опцию “Генерировать” в подменю “Генерация ключей”. Выполнить затем генерацию ключей для системы РША. 6.Повторить п.5 для n=30.Рассчитать вероятность ошибочного выполнения тестирования простых чисел для этого и для предыдущего пунктов. Шифрование сообщений в криптосистеме РША 7.Перейдя в основное меню, произвести шифрование короткого смыслового текста на русском или английском языке, введенного в левое поле с использованием опции “Зашифровать”. Наблюдать появление криптограммы в правом поле. 8.Удалить открытый текст в левом поле и произвести дешифрование криптограммы, содержащейся в правом поле, используя опцию “Дешифровать”. Проверить правильность дешифрования. 9.Повторить п.8 после изменения одной из цифр криптограммы. 10.Повторить п. 6, выбирая разрядность каждого из простых чисел 1024 бита. 11.Вернувшись в главное меню произвести шифрование произвольного файла большого объема (не менее 100кбайт), фиксируя при этом время шифрования. 12.Произвести дешифрование криптограммы, полученной в п.11 и помещенной в специальный файл, фиксируя при этом время дешифрования. 13.По данным п.11,12 рассчитать скорость шифрования и дешифрования при данной простейшей программной реализации безопасной криптосистемы РША. Подписание сообщений в криптосистеме РША 14. Повторить п. 5, выбирая разрядность каждого из простых чисел 16 бит. 15. Используя подпрограмму «Калькулятор экспонент» Сгенерировать цифровую подпись открытого текста mв виде ГГNN (где ГГ- номер группы, NN - ваш номер по журналу).без использования хэш-функции (аналогично шифрованию, но с закрытым ключом) s=mdmodn. Подписью будет пара чисел (m,s). 16. Создать подделку цифровой подписи путем возведения mи s в степень с произвольным показателем l: m’=mlmodn, s’=slmodn. (Использовать туже программу вычисления экспонент, l выбрать в диапазоне 2-5). 17. Провести верификацию цифровой подписи в обоих случаях: найтиm1=se(modn) ипроверить равенство m1=m, найтиm2=s’e(modn) ипроверить равенство m2=m’. Cделать выводы о безопасности цифровой подписи открытого текста и его целостности без применения хэширования. 18. Получить хэш-образ открытого текста h(m), используя следующий упрощенный алгоритм: сложить номера всех символов сообщения. Результат умножить на d с приведением по modn. 19. Получить подпись для хэш-образа s=hd(m)modn, используя алгоритм модульного возведения в степень. Подписью будет пара (m,s). Верифицировать подпись проверкой сравнения h(m)=semodn. 20. Создать подделку цифровой подписи путем возведения m и s в степень с произвольным показателем l: m’=mlmodn, s’=slmodn. (l выбирать в диапазоне 6-10). 21. Верифицировать подделанную подпись путем проверки сравнения h(m’) = s’emodn. Сделать выводы о безопасности подписи с использованием хэш-функций и целостности открытого текста, результаты занести в отчет. Осуществление безопасного обмена сообщениями в сети с использованием криптосистемы РША 22. Провести генерацию ключей в криптосистеме РША (см. п 8 ). Открытый ключ (N, e) сохранить, как файл, использую программу Блокнот. Дать файлу имя: «Ключ Фамилия », где «Фамилия» - фамилия владельца закрытого ключа d. Ключ поместить в общедоступную папку «№ группы». Паку создает один из студентов и всем сообщает ее местонахождение. 23. Подготовить два коротких текстовых сообщения в программе Блокнот. Файлам, содержащим сообщения дать имена « Сообщение1 Фамилия» и «Сообщение2 Фамилия». 24. Первое сообщение зашифровать на открытом ключе получателя, предварительно экспортировав его из файла, содержащего этот ключ. Зашифрованному сообщению (файлу) дать имя, например, «Иванов-Петрову». Поместить в файл в папку группы. 25. Второе сообщение подписать своим закрытым ключом. Подписанному сообщению дать имя, например, « подпись Иванова». Сообщение 2 (файл) и подпись к нему поместить в папку группы. 26. Получателю сообщений на основе своего закрытого ключа расшифровать зашифрованное первое сообщение и проверить подпись второго сообщения, используя свой закрытый ключ. Отчет 1.Титульный лист. 2.Исходные данные и результаты вычислений по п.2.. 3.Время возведения в степень больших чисел по модулю прямым и быстрым методами по результатам п.3. 4.Результаты расчета параметров РША для малых простых чисел по п. 4. 5.Результаты расчета вероятностей ошибочного тестирования простых чисел по п. 6. 6.Результаты дешифрования по п. 8 и 9 . 7.Результаты расчета скоростей шифрования и дешифрования по п.13. 8. Результаты проверки безопасности ЭЦП с использованием хэширования и без его путем предоставления скриншот с комментариями. 9. Распечатка открытого и закрытого ключа для процедуры обмена сообщениями. 10. Подготовленные сообщения 1 и 2. Криптограмма сообщения 1, ЭЦП сообщения 2. Результаты расшифрования и проверки подписи принятых сообщений. Контрольные вопросы 1.Как генерируются ключи в криптосистеме РША ? 2.Какие данные являются открытыми и закрытыми ключами в системе РША? 3. Что такое функция Эйлера? 4.Как производится шифрование и дешифрование в системе РША ? 5.Чем определяется стойкость криптосистемы РША ? 6. Как проверить, что число р простое? 7.Чем определяется скорость шифрования и дешифрования в системе РША? 8. Что такое хэш-функция, каким требованиям она должна отвечаеть, ее назначение в схеме ЭЦП? 9. Дать определение ЭЦП. Виды ЭЦП. Дать определение ключу подписи и ключу проверки подписи. |