Для того, чтобы зашифровать открытое сообщение M, отправитель B должен возвести его в степень открытого ключа пользователя А по модулю N. То есть шифрование выполняется в соответствие с формулой
(4.10) |
Обращение данной функции, то есть определение значения M по известным значениям С, ОКА, N практически не осуществимо при больших N ().
Однако знание секретного ключа СКА позволяет обратить данную функцию, то есть решить задачу дешифровки криптограммы C. Для дешифровки криптограммы С необходимо возвести ее в степень секретного ключа пользователя А по модулю N. Таким образом, дешифрование сообщения выполняется в соответствие с формулой
(4.11) |
Получатель А, который создает ключевую пару (ОКА,СКА) защищает два параметра:
· секретный ключ СКА.
· пару чисел P и Q.
Рассекречивание данных чисел приводит к тому, что злоумышленник сможет вычислить , а значит и вычислить секретный ключ СКА согласно (4.10).
Открытыми в криптосистеме RSA являются только значения ОКА и N.
В настоящее время разработчики криптоалгоритмов с открытым ключом на базе RSA предлагают применять в качестве чисел P, Q, N – числа длиной не менее 200 - 300 десятичных разрядов.
Пример 4.7. Зашифруем сообщение DAC по алгоритму RSA. Для простоты вычислений будем оперировать с небольшими числами P и Q.