1. Выбираем случайные большие простые числа P и Q. Для обеспечения
максимальной безопасности P и Q выбирают примерно равной длины и хранят в секрете.
2. Вычисляем модуль . Формируем функцию Эйлера
.
3. Открытый ключ ОКА выбирается случайно таким образом, чтобы
выполнялись следующие условия:
1< ОКA < , НОД(ОКА, ) = 1 | (4.8) |
4. Секретный ключ СКA находится по сформированному открытому
ключу так, что
СКА×ОКА (mod )º1 или СКА=ОКА-1 (mod ). | (4.9) |
Здесь функция mod - функция взятия остатка от деления. Пользователь A может легко сформировать СКА, зная числа P и Q, а значит и .
Любой другой пользователь не может, зная открытый ключ ОКА вычислить СКА, так как ему не известны числа P и Q. Для их нахождения ему потребуется факторизовать известное ему большое число N, что является вычислительно сложной задачей.