Часть 4. Подписание сообщений в криптосистеме рша
Сгенерировали простые числа p, q разрядности по 16 бит каждое, задаваясь количеством проверок n=20. Выполнили генерацию ключей для системы РША.
Рисунок 20 – Генерация P
Рисунок 21 – Генерация Q
Рисунок 22 – Генерация ключей
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)
Создали подделку цифровой подписи путем возведения m и s в степень с произвольным показателем l:
,
,
l=3.
Рисунок 24 – Подделка сообщения
Рисунок 25 – Подделка цифровой подписи
Подделанная
подпись: (m, s) = (
,
)
Провели верификацию цифровой подписи:
найдем
и
проверим
равенство
,
найдем
и проверим
равенство
,
,
,
Используем программу «Калькулятор экспонент» (рис.26 и рис. 27).
Рисунок 26 – Верификация цифровой подписи
Рисунок 27 – Верификация цифровой подписи
Можно сделать вывод, что без хеширования применение цифровой подписи недостаточно безопасно.
Получили хэш-образ открытого текста h(m), используя следующий упрощенный алгоритм: сложить номера всех символов сообщения. Результат умножили на d с приведением по mod n.
m=610, сумма номеров символов 6+1+0=7,
,
Получили подпись для хэш-образа s=hd(m)modn, используя алгоритм модульного возведения в степень. Подписью будет пара (m,s). Верифицировали подпись проверкой сравнения h(m)=semodn
Рисунок 28 – Подпись для хэш-образа
Рисунок 29 – Верификация подписи
Создали подделку цифровой подписи путем возведения m и s в степень с произвольным показателем l: m’=mlmodn, s’=slmodn. l=8.
m=610,
,
Рисунок 30 – Подделка сообщения
Рисунок 31 – Подделка цифровой подписи
Подделанная
подпись: (m, s) = (
,
)
Верифицировали подделанную подпись путем проверки сравнения h(m’) = s’emodn
Рисунок 32 – Верификация цифровой подписи
- равенство не выполняется
Можно сделать вывод, что с использование хеш-функций безопасность и целостность цифровой подписи повышается.
Часть 5. Осуществление безопасного обмена сообщениями в сети с использованием криптосистемы рша
Провели генерацию ключей в криптосистеме РША
Рисунок 33 – Генерация P
Рисунок 34 – Генерация Q
P = 881058532537666821231301201237
Q = 1034859994653704800256141026397
Рисунок 35 – Генерация ключей
e = 217542813835809863324346359119926123917800363007751231366709
d = 261880385766393259983510709427654316280557866548322454205453
Подготовили два коротких текстовых сообщения в программе Блокнот:
Сообщение 1:
Сообщение 2:
Первое сообщение зашифровали на открытом ключе получателя, предварительно экспортировав его из файла, содержащего этот ключ. Зашифрованному сообщению дадим имя «Ерохин - Гурееву».
Открытый ключ Гуреева:
Рисунок 36 – Открытый ключ Гуреева
Шифрование сообщения:
Рисунок 37 – Шифрование сообщения 1
Рисунок 38 – Зашифрованное сообщение 1
Второе сообщение подписать своим закрытым ключом
Рисунок 39 – Подпись сообщения 2
Рисунок 40 – Результат подписи сообщения 2
Получатель сообщений на основе своего закрытого ключа расшифровывает зашифрованное первое сообщение и проверяет подпись второго сообщения, используя свой закрытый ключ.
Дешифрование сообщения 1:
Рисунок 41 – Дешифрование сообщения 1
Рисунок 42 – Результат дешифрования сообщения 1
Проверка сообщения 2:
Рисунок 43 – Проверка подписи сообщения 2
Рисунок 44 – Результат проверки подписи сообщения 2
Вывод: В ходе выполнения лабораторной работы были произведены модульные вычисления, генерация ключа в криптосистеме РША, шифрование сообщений, а также безопасный обмен сообщениями в сети.
Санкт-Петербург 2023 г
