Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №16.docx
Скачиваний:
17
Добавлен:
10.08.2024
Размер:
1.47 Mб
Скачать

Часть 4. Подписание сообщений в криптосистеме рша

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

Рисунок 20 – Генерация P

Рисунок 21 – Генерация Q

Рисунок 22 – Генерация ключей

  1. Cгенерировали цифровую подпись открытого текста m в виде ГГNN (где ГГ - номер группы, NN - номер по журналу), без использования хэш-функции s=md mod n. Подписью будет пара чисел (m,s).

m = 610, d = 1540475845, n = 1951720933

Рисунок 23 – Генерация цифровой подписи

s=md mod n = 274741154

Подпись: (m, s) = (610, 274741154)

  1. Создали подделку цифровой подписи путем возведения m и s в степень с произвольным показателем l: , , l=3.

Рисунок 24 – Подделка сообщения

Рисунок 25 – Подделка цифровой подписи

Подделанная подпись: (m, s) = ( , )

  1. Провели верификацию цифровой подписи:

найдем и проверим равенство ,

найдем и проверим равенство

, , ,

Используем программу «Калькулятор экспонент» (рис.26 и рис. 27).

Рисунок 26 – Верификация цифровой подписи

Рисунок 27 – Верификация цифровой подписи

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

  1. Получили хэш-образ открытого текста h(m), используя следующий упрощенный алгоритм: сложить номера всех символов сообщения. Результат умножили на d с приведением по mod n.

m=610, сумма номеров символов 6+1+0=7,

,

  1. Получили подпись для хэш-образа s=hd(m)modn, используя алгоритм модульного возведения в степень. Подписью будет пара (m,s). Верифицировали подпись проверкой сравнения h(m)=semodn

Рисунок 28 – Подпись для хэш-образа

Рисунок 29 – Верификация подписи

  1. Создали подделку цифровой подписи путем возведения m и s в степень с произвольным показателем l: m=mlmodn, s=slmodn. l=8.

m=610, ,

Рисунок 30 – Подделка сообщения

Рисунок 31 – Подделка цифровой подписи

Подделанная подпись: (m, s) = ( , )

  1. Верифицировали подделанную подпись путем проверки сравнения h(m’) = semodn

Рисунок 32 – Верификация цифровой подписи

- равенство не выполняется

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

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

  1. Провели генерацию ключей в криптосистеме РША

Рисунок 33 – Генерация P

Рисунок 34 – Генерация Q

P = 881058532537666821231301201237

Q = 1034859994653704800256141026397

Рисунок 35 – Генерация ключей

e = 217542813835809863324346359119926123917800363007751231366709

d = 261880385766393259983510709427654316280557866548322454205453

  1. Подготовили два коротких текстовых сообщения в программе Блокнот:

Сообщение 1:

Сообщение 2:

  1. Первое сообщение зашифровали на открытом ключе получателя, предварительно экспортировав его из файла, содержащего этот ключ. Зашифрованному сообщению дадим имя «Ерохин - Гурееву».

Открытый ключ Гуреева:

Рисунок 36 – Открытый ключ Гуреева

Шифрование сообщения:

Рисунок 37 – Шифрование сообщения 1

Рисунок 38 – Зашифрованное сообщение 1

  1. Второе сообщение подписать своим закрытым ключом

Рисунок 39 – Подпись сообщения 2

Рисунок 40 – Результат подписи сообщения 2

  1. Получатель сообщений на основе своего закрытого ключа расшифровывает зашифрованное первое сообщение и проверяет подпись второго сообщения, используя свой закрытый ключ.

Дешифрование сообщения 1:

Рисунок 41 – Дешифрование сообщения 1

Рисунок 42 – Результат дешифрования сообщения 1

Проверка сообщения 2:

Рисунок 43 – Проверка подписи сообщения 2

Рисунок 44 – Результат проверки подписи сообщения 2

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

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