Функция-ловушка
В основе алгоритма шифрования с открытым ключом лежит идея использования легко осуществимого на стадии шифрования математического преобразования, которое сложно было бы обратить (без знания специальной секретной информации) для реализации второй стадии алгоритма, т.е. расшифрования. Преобразование, обладающее указанным свойством, называется односторонней функцией или функцией-ловушкой.
Алгоритм RSA
1.Выбрать два больших простых числа p1, p2.
2.Вычислить r = p1p2.
3.Вычислить функцию Эйлера (r) = (p1 – 1)(p2 – 1).
4.Определить случайное число a < (r), взаимопростое с (r).
5.Найти число , удовлетворяющее уравнению: a1 (mod (r)), 0 < < (r).
6.Зашифровать сообщение m (m < r): m1 ma (mod r).
7.Дешифрировать сообщение m1: m m1 (mod r).