№4 ИССЛЕДОВАНИЕ КРИПТОГРАФИЧЕСКОЙ СИСТЕМЫ RSA
.docМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра ИС
отчет
по лабораторной работе №4
по дисциплине «Конструирование программ»
Тема: Исследование криптографической системы RSA.
Студент гр. 0375 |
|
Яблоков В.А. |
Преподаватель |
|
Копыльцов А. В. |
Санкт-Петербург
2022
Цель работы:
Ознакомиться с классической криптосистемой с открытым ключом RSA и вариантами ее использования.
Ход работы:
1. Общий ключ для двух пользователей.
Пусть простое число p = 14, g = 5 – примитивный корень по модулю 14. Возьмем два ключа: 886273 для первого пользователя и 4517 для второго. В результате выполнения программы на компьютере получаем общий ключ, равный 3:
Для обоих пользователей был получен одинаковый ключ.
2. Передача шифрованных сообщений.
Пусть p = 79, q = 103. Тогда n = 79 * 103 = 8137. φ(n) = 78 * 102 = 7956. Выберем d = 19, так как (19, 7956) = 1. В качестве передаваемого символа выберем Z, ASCII код которого равен 90. Вычисления на компьютере:
Абонент В получил верный код.
3. Сообщение от клиентов банку.
3.1. Выберем простые числа P = 67, Q = 383. P1, p2, p3, q1, q2, q3 пусть будут равны 5, 59, 269, 13, 71, 7 соответственно. Вычислим функции Эйлера, подберем открытые ключи, вычислим секретные ключи:
φ(N) = 25212, d = 263, T = 9107,
φ(n1) = 48, d = 5, t1 = 29,
φ(n2) = 4060, d = 101, t2 = 201,
φ(n3) = 1608, d = 29, t3 = 1109.
Пусть теперь клиент 2 хочет передать банкиру символ H, ASCII код которого равен m = 72. Протокол с этапами шифрования и дешифровки: 1) Клиент шифрует сообщение
m1 = (m^t2) mod n2 = (72^201) mod 4189 = 214,
m2 = (m1^D) mod N = (214^263) mod 25661 = 5726.
2) Банк расшифровывет сообщение
m3 = (m2^T) mod N = (5726^9107) mod 25661 = 214,
m4 = (m3^d2) mod n2 = (214^101) mod 4189 = 72.
m4 = m, банкир получил код символа H, значит передача была выполнена верно.
3.2. После успешного выполнения передачи и дешифровки, нам становится доступна возможность дешифрования неизвестного заранее сообщения. Получим его:
В итоге было получено сообщение «Привет».
3.3. Если пользователь, воспользовавашись чужим открытым ключом, поробует передать сообщения, то на выходе будетполучен неправильный результат. Пусть пользователь 2 использовал ключ клиента 1 и передал 72. Банкир получил 7, что не соответсвует изначальному значению:
Выводы:
В данной работе были продемонтсрированы примеры использования криптографической системы RSA для передачи зашифрованных сообщений.