- •Генерирование ключа в криптосистеме рша
- •Генерация ключей по заданным числам p и q.
- •Шифрование сообщений в криптосистеме рша
- •Подписание сообщений в криптосистеме рша
- •Генерация ключей по заданным числам p и q.
- •Осуществление безопасного обмена сообщениями в сети с использованием криптосистемы рша
Подписание сообщений в криптосистеме рша
Сгенерируем простые числа p,q разрядности по 16 бит каждое, задаваясь количеством проверок n=20 . Выполним генерацию ключей для системы РША.
Генерация числа P , при количестве бит 16 и n=20.
Генерация числа Q , при количестве бит 16 и n=20.
Генерация ключей по заданным числам p и q.
Используя подпрограмму «Калькулятор экспонент» Сгенерируем цифровую подпись открытого текста m в виде ГГNN (где ГГ - номер группы, NN - номер по журналу), без использования хэш-функции (аналогично шифрованию, но с закрытым ключом) s=md mod n. Подписью будет пара чисел (m,s).
m=8406, d= 1645139557, n= 1922866469
Генерация цифровой подписи.
Создадим подделку цифровой подписи путем возведения m и s в степень с произвольным показателем l: , , l=2.
Подделка сообщения.
Подделка цифровой подписи.
Проведем верификацию цифровой подписи:
найдем и проверим равенство ,
найдем и проверим равенство .
, , ,
Используем программу «Калькулятор экспонент» (рис.27 и рис. 28).
Можно сделать вывод, что без хеширования применение цифровой подписи недостаточно безопасно.
Верификация цифровой подписи.
Верификация цифровой подписи.
Получим хэш-образ открытого текста h(m), используя следующий упрощенный алгоритм: сложить номера всех символов сообщения. Результат умножить на d с приведением по modn.
m=8406, сумма номеров символов 8+4+6=18,
,
Получим подпись для хэш-образа s=hd(m)modn, используя алгоритм модульного возведения в степень. Подписью будет пара (m,s). Верифицируем подпись проверкой сравнения h(m)=semodn.
Подпись для хеш-образа.
Верификация подписи.
Создадим подделку цифровой подписи путем возведения m и s в степень с произвольным показателем l: m’=mlmodn, s’=slmodn. l=6.
m=8406, ,
Подделка сообщения.
Подделка цифровой подписи.
Верифицировать подделанную подпись путем проверки сравнения h(m’) = s’emodn. e=1279589293
Верификация подделанной подписи.
- равенство не выполняется
Можно сделать вывод, что с использование хеш-функций безопасность и целостность цифровой подписи повышается.
Осуществление безопасного обмена сообщениями в сети с использованием криптосистемы рша
Проведем генерацию ключей в криптосистеме РША. Открытый ключ (N, e)
Генерация числа p.
Генерация числа q.
p= 982080185239800317912888194297
q= 680924823080343921778645979723
Генерация ключей при заданных числах p и q.
e=97322160729388844088315067316251150794956561271428575726589
d= 404710915464232599403714229560073791638371904115733346747605
Подготовим два коротких текстовых сообщения в программе Блокнот. Файлам, содержащим сообщения дадим имена « Сообщение1 Фамилия» и «Сообщение2 Фамилия».
Открытые текстовые сообщения.
Первое сообщение зашифруем на открытом ключе получателя, предварительно экспортировав его из файла, содержащего этот ключ.
Обмен происходил с ДРУГОЙ СТУДЕНТ
Открытый ключ получателя:
e = 447875223558580548804506808967509845834460986044023608158217
n = 1303881840229503222559611420644982838337853634490508320604451
Шифрование первого сообщения открытым ключом получателя и закрытым ключом отправителя.
Второе сообщение подписываем своим закрытым ключом.
Подписываем сообщение своими открытым и закрытым ключом.
Получателю сообщений на основе своего закрытого ключа расшифровать зашифрованное первое сообщение и проверить подпись второго сообщения, используя закрытый ключ.
Расшифрование первого сообщения своим открытым и закрытым ключами.
Расшифрованное сообщение ОТ КОГО - КО МНЕ.
Полученный закрытый ключ ОТ КОГО:
dT=483414108903187455688955099548657128770114389759398786091289
Проверка подписи на основе открытого и закрытого ключа отправителя.
Расшифрованная подпись ОТ КОГО.
Вывод:
В ходе выполнения лабораторной работы были закреплены знания, полученные на лекциях, по теме “Криптосистема РША”. Выполнены операции генерирования ключей, шифрования и расшифрования сообщений, создания и проверки цифровой подписи.