Шаг 2. Вычисляется открытая компонента ключа n: n = р q.
Шаг 3. Находится функция Эйлера по формуле: f(р q.)=(р-1)(q-1)
Функция Эйлера показывает количество целых положительных чисел от1 до n, которые не имеют ни одного общего делителя, кроме 1.
Шаг 4. Выбирается число е, которое должно взаимно простым со значением функции Эйлера и меньшим, чем f(р q.)
Шаг 5. Определяется число d, удовлетворяющее соотношению
е * d(mod f(р q.))=1. Числа е и n принимаются в качестве открытого ключа.
В качестве секретного ключа используются числа d и n.
Шаг 6. Исходная информация независимо от её физической природы представляется в числовом двоичном виде. Последовательность бит разделяется на блоки длиной L бит, где L – наименьшее целое число, удовлетворяющее условию L log2(n.+1); Каждый блок рассматривается как целое положительное число X(i), принадлежащее интервалу (0, n-1). Таким образом, исходная информация представляется последовательностью чисел X(i), (i = 1.I). Значение I определяется длиной шифруемой последовательности.
Шаг 7. Зашифрованная информация получается в виде последовательности чисел Y(i)= (Y(i)) e (mod n).
Шаг 8. Для расшифрования информации используется следующая зависимость: Х(i)= (Y(i)) e (mod n).
Рассмотрим числовой пример применения метод RSA для криптографического закрытия информации, в котором для простоты вычислений использованы минимально возможные числа. Пусть требуется зашифровать сообщение на русском языке Число
Решение:
Сообщение: Число
Числа p и q – 11 и 17
1) Вычислим открытую компоненту ключа: n=p*q=11*17=187
2) Определим функцию Эйлера:f(р q.)=(р-1)(q-1)=(11-1)(17-1)=160; Пусть d=7;
3) Выберем число е по следующей формуле: е * 7(mod 160)=1; e=23
Числа е и n принимаются в качестве открытого ключа, d и n используются в качестве секретного ключа.
Таблица1.2 Позиции букв в алфавите:
Буквы алфавита
|
А
|
Б
|
В
|
Г
|
Д
|
Е
|
Ж
|
З
|
И
|
Й
|
К
|
Л
|
М
|
Н
|
О
|
П
|
Номер буквы
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
Буквы алфавита
|
Р
|
С
|
Т
|
У
|
Ф
|
Х
|
Ц
|
Ч
|
Ш
|
Щ
|
Ъ
|
Ы
|
Ь
|
Э
|
Ю
|
Я
|
Номер буквы
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
31
|
32
|
4) Представим шифруемое сообщение как последовательность чисел в диапазоне от 0 до 32: 24 9 18 12 15
5) Для представления чисел в двоичном виде требуется 6 двоичных разрядов, так как в русском алфавите используются 33 буквы, поэтому исходный текст имеет вид: 011000 001001 010010 001100 001111
6) Длина блока L определяется как минимальное число из целых чисел, удовлетворяющих условию L log2(187+1); L=8
7) Теперь зашифруем сообщение, используя открытый ключ {23,187}: Y1 = (2423) mod 187 = 63 Y2 = (923) mod 187 = 36 Y3 = (1823) mod 187 = 35 Y4 = (1223) mod 187 = 177
Y5 = (1523) mod 187 = 42
8) Расшифруем полученные данные, используя закрытый ключ {7,187}: Y1 = (637) mod 187 = 24 Y2 = (367) mod 187 = 9 Y3 = (357) mod 187 = 18 Y4 = (1777) mod 187 = 12
Y5 = (427) mod 187 = 15
Данные расшифрованы, сопоставим последовательность <24 9 18 12 15> с последовательностью букв нашего алфавита. Получили слово ЧИСЛО.
24>
Do'stlaringiz bilan baham: |