Скачиваний:
51
Добавлен:
29.06.2022
Размер:
2.3 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

_____________________________________________________________________________

Кафедра информационной безопасности телекоммуникационных систем

Дисциплина «Основы криптографии с открытыми ключами»

Лабораторная работа 4

«Исследование криптосистемы с открытым ключом РША»

Выполнила: студ. Гр .

.

Проверил: проф. Яковлев В.А..

Санкт-Петербург

2021

Цель работы

Закрепить знания, полученные на лекциях, по теме “ Криптосистема РША”.

Задание

  1. Выполнить упражнения по возведению в степень больших целых чисел по модулю.

  2. Произвести генерирование ключей для криптосистемы РША, а также шифрование и дешифрование с ее помощью коротких текстов.

  3. Произвести шифрование файлов большого размера безопасной криптосистемой РША и оценить время шифрования и дешифрования при ее простейшей программной реализации.

  4. Произвести подписание сообщений и проверку подписи .

  5. Осуществить обмен зашифрованными и подписанными сообщениями в локальной сети.

Ход работы

  1. Рассчитаем степени малых чисел по малому модулю и проверим их правильность расчетами на бумаге.

  1. Расчет степени малых чисел по малому модулю.

Проверка:

  1. Рассчитаем степени произвольных больших чисел по модулю прямым методом и быстрым методом. Убедимся в эффективности быстрого метода.

  1. Расчет степени чисел по модулю прямым методом.

  1. Расчет степени чисел по модулю быстрым методом.

Простой метод:

Быстрый метод:

с

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

Генерирование ключа в криптосистеме рша

  1. Выбрав в главном меню опцию “Генерировать ключи”, зададим малые простые числа p,q и сгенерируем ключи для РША. Проверим правильность вычислений расчетами на бумаге.

  1. Генерирование ключа при малых p и q.

Проверка:

, e = 13

НОД(e, φ) =НОД(13,24)= 1

d = 13

  1. Сгенерируем простые числа p,q разрядности по 100 бит каждое, задаваясь количеством проверок n=20 и используя опцию “Генерировать” в подменю “Генерация ключей”. Выполним генерацию ключей для системы РША.

  1. Генерация числа P, при n=20.

P=1138711824670850104785711549017

  1. Генерация числа Q, при n=20.

Q=822389495239038200534122950229

  1. Генерация ключей по заданным числам P и Q.

  1. Сгенерируем простые числа p,q разрядности по 100 бит каждое, но для n=30. Рассчитаем вероятность ошибочного выполнения тестирования простых чисел для этого и для предыдущего пунктов.

  1. Генерация числа P при n=30.

P=1112269953808429996338912084949

  1. Генерация Q, при n=30.

Q=800792412451598272592720651971

  1. Генерация ключей по заданным числам p и q.

Вероятности ошибочного выполнения тестирования простых чисел:

Шифрование сообщений в криптосистеме рша

  1. Перейдя в основное меню, произведем шифрование короткого смыслового текста на русском, введенного в левое поле с использованием опции “Зашифровать”.

  1. Шифрование текста.

  1. Удалим открытый текст в левом поле и произведем дешифрование криптограммы, содержащейся в правом поле, используя опцию “Расшифровать”.

Криптограмма:

23482678961863694562238859146388650386696515766002626179422 632892420377746882548507191812546367223904657729266919156947 259100675334418227605906555854488381863137304040529815962832 274393609493293110824883797583292953113188198747187361323428 805149947152334003841379151915355292908947654877750203610231 390929883058485422196352188140621548878289297809860756925821 409713787773792091420176459912333982828148279026495938496328 619797541139393681314067268528399258469281546172822252155047 244908817150021454073383400063589882225974234554174240198938

  1. Расшифрование криптограммы.

Расшифрованный текст:

Перейдя в основное меню, произвести шифрование короткого смыслового текста на русском или английском языке, введенного в левое поле с использованием опции Зашифровать. Наблюдать появление криптограммы в правом поле.

Расшифрованный текст полностью соответствует исходному тексту.

  1. После изменения одной из цифр криптограммы, произведем расшифрование.

Криптограмма с ошибкой:

23492678961863694562238859146388650386696515766002626179422 632892420377746882548507191812546367223904657729266919156947 259100675334418227605906555854488381863137304040529815962832 274393609493293110824883797583292953113188198747187361323428 805149947152334003841379151915355292908947654877750203610231 390929883058485422196352188140621548878289297809860756925821 409713787773792091420176459912333982828148279026495938496328 619797541139393681314067268528399258469281546172822252155047 244908817150021454073383400063589882225974234554174240198938

  1. Расшифрование криптограммы с ошибкой.

Расшифрованная криптограмма с ошибкой:

=[вНWпр}tТЈ¬Ґѓ№8aџ>C C произвести шифрование короткого смыслового текста на русском или английском языке, введенного в левое поле с использованием опции Зашифровать. Наблюдать появление криптограммы в правом поле.

Открытый текст:

Перейдя в основное меню, произвести шифрование короткого смыслового текста на русском или английском языке, введенного в левое поле с использованием опции Зашифровать. Наблюдать появление криптограммы в правом поле.

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

  1. Сгенерируем простые числа p,q разрядности по 1024 бит, при n=30.

  1. Генерация числа P, при разрядности 1024 бит и n=30.

  1. Генерация числа Q, при разрядности 1024 бит и n=30.

P=153070286747409401634060314739040227809312892998222190937256175805206238143370730304939247499052562154764971479033976689487825918754883752105261739394360831440890261712075031250971448979033242010240290691277818680742428272052504628544521294491171679863375186472115974006583555361113046403197921403745577828351

Q=111947729070838407141757311007623229493165862937685189637260639740886140025868039117833426980103071271474949109961510133412850753173663887212748283170274178139088605290773653280221834153836082724393807404798626089588539726903581918796666212350391238601105919591548028626348577910817223840642614217729263457527

  1. Вернувшись в главное меню, произведем шифрование произвольного файла большого объема (не менее 100кбайт), фиксируя при этом время шифрования.

Выберем файл «открытый» размером 137 КБ.

  1. Подготовленные файлы для шифрования.

  1. Выполнение шифрования файла.

Получили в ходе шифрования файл «зашифрованный» размером 139 КБ.

  1. Произведем дешифрование криптограммы, полученной в п.10, фиксируя при этом время дешифрования.

  1. Подготовленные файлы для расшифрования.

  1. Выполнение расшифрования файла.

Получили в ходе расшифрования файл «расшифрованный» размером 137 КБ

  1. Исходный файл соответствует расшифрованному файлу.

  1. По данным п.10,11 рассчитаем скорость шифрования и дешифрования при данной простейшей программной реализации безопасной криптосистемы РША.

S = 120 Кбайт = 122880 байт = 983040 бит – количество бит ключа.

= 48 сек – время шифрования.

– скорость шифрования.

= 47 сек – время расшифрования.

– скорость дешифрования.

Соседние файлы в папке 04_ЛР