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

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

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

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

_____________________________________________________________________________

Кафедра информационной безопасности телекоммуникационных систем Дисциплина «Основы криптографии с открытыми ключами»

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

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

Выполнила:

студ. Гр .

 

 

 

 

.

Проверил:

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

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

2021

Цель работы

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

Задание

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

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

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

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

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

Ход работы

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

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

Проверка:

= ( ) = 342 (7) = 1 42 = 25 ∙ 23 ∙ 21 = 32 + 8 + 2

342 mod7 = 332+8+2mod7 = 332 ∙ 38 ∙ 32mod7 32 mod7 = 9 7 = 2

38 mod7 = 32 ∙ 32 ∙ 32 ∙ 32 mod7 = 2 ∙ 2 ∙ 2 ∙ 2 mod7 = 2 332 mod7 = 38 ∙ 38 ∙ 38 ∙ 38 mod7 = 2 ∙ 2 ∙ 2 ∙ 2 mod7 = 2 342mod7 = 332 ∙ 38 ∙ 32 mod7 = 2 ∙ 2 ∙ 2 mod7 = 1

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

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

Рис. 3.

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

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

п = 111с = 111000мс

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

б = 1мс

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

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

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

Рис. 4. Генерирование ключа при малых p и q. Проверка:

= = 5 ∙ 7 = 35( ) = ( − 1)( − 1) = 4 ∙ 6 = 24 1 < < ( ), e = 13

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

 

= −1 ( )

 

24

= 13

+ 11

11 = 24 − 13

13

= 11

+ 2

2 = 13 − 11

11 = 2 ∙ 5 + 1 1 = 11 − 2 ∙ 5

1 = 11 − 2 ∙ 5 = 11 ∙ 6 − 13 ∙ 5 = 24 ∙ 6 − 13 ∙ 11

d = (−11) 24 = 13

d = 13

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

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

P=1138711824670850104785711549017

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

Q=822389495239038200534122950229

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

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

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

P=1112269953808429996338912084949

Рис. 9. Генерация Q, при n=30.

Q=800792412451598272592720651971

Рис. 10. Генерация ключей по заданным числам P и Q. Вероятности ошибочного выполнения тестирования простых чисел:

(20) = 2120 = 0,00000095(30) = 2130 = 0,00000000093

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

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

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

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

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

23482678961863694562238859146388650386696515766002626179422

632892420377746882548507191812546367223904657729266919156947

259100675334418227605906555854488381863137304040529815962832

274393609493293110824883797583292953113188198747187361323428

805149947152334003841379151915355292908947654877750203610231

390929883058485422196352188140621548878289297809860756925821

409713787773792091420176459912333982828148279026495938496328

619797541139393681314067268528399258469281546172822252155047

244908817150021454073383400063589882225974234554174240198938

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

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

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

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

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

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

23492678961863694562238859146388650386696515766002626179422

632892420377746882548507191812546367223904657729266919156947

259100675334418227605906555854488381863137304040529815962832

274393609493293110824883797583292953113188198747187361323428

805149947152334003841379151915355292908947654877750203610231

390929883058485422196352188140621548878289297809860756925821

409713787773792091420176459912333982828148279026495938496328

619797541139393681314067268528399258469281546172822252155047

244908817150021454073383400063589882225974234554174240198938

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