RSA

  • 30 мая 2017 г.
  • 489 Слова






шифрование с открытым ключом использование шифра rsa















Описание алгоритма
Описание RSA было опубликовано в августе 1977 года в журнале Scientific American. Авторы RSA поддерживалиидею её активного распространения.
Первым этапом любого асимметричного алгоритма является создание получателем шифрограмм пары ключей: открытого и секретного. Для алгоритма RSA этап создания ключейсостоит из следующих операций:
выбираются два простых числа p и q;
вычисляется произведение n = p * q;
вычисляется функция Эйлера, равная (n)=(p-1)(q-1)=n-p-q+1. Результат расчета данной функции равенколичеству положительных чисел, не превосходящих n и взаимно простым с n.
выбирается произвольное число e (0 вычисляется секретный ключ d из соотношения (d*e) mod (n) = 1. Число d называется закрытой экспонентой. Обычно пользуются выражением de = 1 + kφ(n), где k - некоторое целое число.
Публикуютсяоткрытые ключи e и n в специальном хранилище, где исключается возможность его подмены (общедоступном сертифицированном справочнике). Простое число – натуральное число, большее единицы и не имеющее другихделителей, кроме самого себя и единицы. Взаимно простые числа – числа, не имеющие общих делителей, кроме 1.
Процедуры шифрования и дешифрования выполняются по следующим формулам
C = Тe mod n, (10)
Т= Cd mod n. (11)
где Т, C - числовые эквиваленты символов открытого и шифрованного сообщения.
Алгоритм RSA. Стойкость RSA основывается на большой вычислительной сложности известных алгоритмовразложения произведения простых чисел на сомножители. Для надежного шифрования алгоритмом RSA, как правило, выбираются простые числа, количество двоичных разрядов которых равно нескольким сотням.
Листинг программы.#include
#include
#include
#include
#include
#include
using namespace std;
int powmod (int base, int exponent, int modul);...
tracking img