Алгоритм RSA
•алгоритм Rivest-Shamir-Adleman (RSA) разработан в 1977 году Роном Ривестом, Ади Шамиром и Леном Адлеманом и опубликован в 1978 году;
•представляет собой блочный алгоритм шифрования, где зашифрованные и незашифрованные данные являются целыми между 0 и n -1 для некоторого n;
•основан на использовании того факта, что задача факторизации является трудной, т.е. легко перемножить два числа, в то время как не существует
полиномиального алгоритма нахождения простых сомножителей
Создание открытого и закрытого ключа по алгоритму RSA
1.выбрать простые р и q;
2.вычислить n = p · q;
3.выбрать d gcd (Φ(n), d) = 1; 1 < d < Φ(n);
4.вычислить е = d-1 mod Φ(n);
5.открытый ключ KU = {e, n};
6.закрытый ключ KR = {d, n};
Шифрование и дешифрование по
алгоритму RSA
• шифрование:
1.незашифрованный текст: М < n
2.зашифрованный текст: С = М е
(mod n)
•. дешифрование:
1.зашифрованный текст: С
2.незашифрованный текст: М = Сd
(mod n)
Пример работы алгоритма RSA
1.выбрать два простых числа: р = 7, q = 17.
2.вычислить n = p · q = 7 · 17 = 119.
3.вычислить Φ(n) = (p - 1) · (q - 1) = 96.
4.выбрать е так, чтобы е было взаимно простым с Φ(n) = 96 и меньше, чем Φ(n): е = 5.
5.определить d так, чтобы d · e = 1 mod 96 и d < 96.
6.d = 77, так как 77 · 5 = 385 = 4 · 96 + 1.
7.результирующие ключи открытый KU = {5, 119} и закрытый KR = {77, 119}.
8.например, требуется зашифровать сообщение М = 19.
9.195 = 66 (mod 119); С = 66.