Алгоритм RSA является методом шифрования с открытым ключом и считается наиболее безопасным способом шифрования. Он был изобретен Ривестом, Шамиром и Адлеманом в 1978 году и, следовательно, назвал алгоритм RSA .
Алгоритм
Алгоритм RSA имеет следующие особенности —
-
Алгоритм RSA является популярным возведением в степень в конечном поле по целым числам, включая простые числа.
-
Целые числа, используемые этим методом, достаточно большие, что затрудняет их решение.
-
В этом алгоритме есть два набора ключей: закрытый ключ и открытый ключ.
Алгоритм RSA является популярным возведением в степень в конечном поле по целым числам, включая простые числа.
Целые числа, используемые этим методом, достаточно большие, что затрудняет их решение.
В этом алгоритме есть два набора ключей: закрытый ключ и открытый ключ.
Вам нужно будет выполнить следующие шаги, чтобы работать над алгоритмом RSA —
Шаг 1: Генерация модуля RSA
Начальная процедура начинается с выбора двух простых чисел, а именно p и q, а затем вычисляется их произведение N, как показано ниже:
N=p*q
Здесь пусть N будет указанным большим числом.
Шаг 2: Производное число (е)
Рассмотрим число e как производное число, которое должно быть больше 1 и меньше, чем (p-1) и (q-1). Основным условием будет то, что не должно быть общих множителей (p-1) и (q-1), кроме 1
Шаг 3: Открытый ключ
Указанная пара чисел n и e образует открытый ключ RSA, и он становится открытым.
Шаг 4: Закрытый ключ
Закрытый ключ d рассчитывается из чисел p, q и e. Математическое соотношение между числами выглядит следующим образом:
ed = 1 mod (p-1) (q-1)
Приведенная выше формула является базовой формулой для расширенного евклидова алгоритма, который принимает p и q в качестве входных параметров.
Формула шифрования
Рассмотрим отправителя, который отправляет текстовое сообщение тому, чей открытый ключ (n, e). Чтобы зашифровать текстовое сообщение в данном сценарии, используйте следующий синтаксис —
C = Pe mod n
Формула расшифровки
Процесс дешифрования очень прост и включает в себя аналитику для расчета в систематическом подходе. Учитывая, что получатель C имеет закрытый ключ d , модуль результата будет вычислен как —