Составители:
Рассмотрим более подробно схему алгоритма RSA.
Чтобы использовать алгоритм RSA, надо сначала сгенерировать
открытый и секретный ключи, выполнив следующие шаги:
- выбрать два больших простых числа P и Q;
- определить N как результат умножения P на Q (N = P⋅Q);
- выбрать большое число К
с
. Оно должно быть взаимно простым с
результатом умножения ϕ(N)= (P – 1)(Q – 1);
- определить такое число К
о
, для которого выполняется следующее
соотношение: К
о
К
с
(mod ϕ(N)) =1;
- объявить открытым ключом числа (К
о
и N), а секретным ключом
(К
с
и N).
Затем, чтобы зашифровать данные по известному ключу (К
с
, N),
необходимо разбить шифруемый текст на блоки, каждый из которых
может быть представлен в виде числа M
i
, (i=1…N-1); зашифровать текст,
рассматриваемый как последовательность чисел M
i
по формуле
C
i
= M
i
К
о
mod (N).
Чтобы расшифровать эти данные, используя секретный ключ (К
с
, N),
необходимо выполнить вычисления:
M
i
= C
i
К
с
mod (N).
В результате будет получено множество чисел M
i
, которое
представляет собой исходный текст.
Рассмотрим пример [17,24] использования метода RSA для
шифрования сообщения 651.
Для удобства расчетов будем использовать числа небольшой
разрядности.
1. Выберем P = 3 и Q = 11.
2. Определим N =3 ⋅ 11 = 33.
3. Найдем ϕ(N)=(P – 1)(Q – 1) = 20.
Следовательно, в качестве К
с
выберем любое число, являющееся
взаимно простым с 20, например К
с
= 3.
4. Выберем число К
о
. В качестве такого числа может быть взято
любое число, для которого справедливо соотношение
К
о
⋅ 3mod(20) = 1, например К
о
= 7.
5. Представим шифруемое сообщение как последовательность
целых чисел в диапазоне 0, . . . ,32.
59
Страницы
- « первая
- ‹ предыдущая
- …
- 55
- 56
- 57
- 58
- 59
- …
- следующая ›
- последняя »
