1-Lectures / TPro-Lk-06(17-03-2011)
.pps11
(продолжение)
y |
|
1 |
a |
|
1 |
|
|
|
|||
x |
|
1 |
1 b |
1 |
|
|
|
|
|
Dk y mod Nk ;
17-03-2011 |
Реализация упрощенного |
|
варианта RSA-преобраз |
12
Обобщенный алгоритм поиска ключевой пары:
1)выбрать случайное нечетное число E < (N) ;
2)решить диофантово уравнение
(N)∙x + E∙y = 1 (относительно y);
если решение не существует, то п.(1); иначе D = y mod (N);
3) если D == E, то п.(1).
17-03-2011 |
Реализация упрощенного |
|
варианта RSA-преобраз |
13
Пример 6.1. P = 7, Q = 11 ; E = 13; D - ?
17-03-2011 |
Реализация упрощенного |
|
варианта RSA-преобраз |
14
Решение примера 6.1.
(N) = 60 ; 60 x + 13 y = 1;
60 / 13 = 4 + 8 / 13 ; 13 / 8 = 1 + 5 / 8 ; 8 / 5 = 1 + 3 / 5 ; 5 / 3 = 1 + 2 / 3 ; 3 / 2 = 1 + 1 / 2 ; 2 / 1 = 2 + 0/1 ;
A0 = R0 =4 ;
A1 = R0 R1 + 1 = A0 R1 + 1 = 4 1 + 1 = 5 ; A2 = A1 R2 + A0 = 5 1 + 4 = 9 ;
A3 = A2 R3 + A1 = 9 1 + 5 = 14 ; A4 = A3 R4 + A2 = 14 1 + 9 = 23 ; y = (-1)k Ak – 1 = (-1)5 A4 = - 23 ; D = (N ) – y = 60 – 23 = 37 .
17-03-2011 |
Реализация упрощенного |
|
варианта RSA-преобраз |
15
Пример 6.2. P = 7, Q = 11 ; E = 55 ; D - ?
17-03-2011 |
Реализация упрощенного |
|
варианта RSA-преобраз |
16
Решение примера 6.2.
(N) = 60 ;
60 x + 55 y = 1; 60 / 55 = 1 + 5 / 55 ; 55 / 5 = 11 + 0 / 5 ;
Решение не существует, так как (E, (N )) = (55, 60) = 5 1 .
17-03-2011 |
Реализация упрощенного |
|
варианта RSA-преобраз |
17
Пример 6.3. P = 7, Q = 11 ; E = 53 ; D - ?
17-03-2011 |
Реализация упрощенного |
|
варианта RSA-преобраз |
18
Решение примера 6.3.
(N) = 60 ; 60 x + 53 y = 1; 60 / 53 = 1 + 7 / 53 ; 53 / 7 = 7 + 4 / 7 ;
7 / 4 = 1 + 3 / 4 ; 4 / 3 = 1 + 1 / 3 ; 3 / 1 = 3 + 0 / 1 ; A0 = R0 = 1 ;
A1 = R0 R1 + 1 = A0 R1 + 1 = 1 7 + 1 = 8 ; A2 = A1 R2 + A0 =8 1 + 1 = 9 ;
A3 = A2 R3 + A1 =9 1 + 8 = 17 ; y = (-1)k Ak - 1 = (-1)4 A3 = 17 ; D = y = 17 .
17-03-2011 |
Реализация упрощенного |
|
варианта RSA-преобраз |
19
GNFS (оценки вычислительной сложности криптоанализа)
e c o 1 ln N 13 ln ln N 23
при N ;
|
64 |
1 |
|
|
3 |
1.923; сведения c 1.639 . |
|||
c |
9 |
|
|
|
|
|
|
|
17-03-2011 |
Реализация упрощенного |
|
варианта RSA-преобраз |
20
Пример 6.4. Составить функцию, выполняющую вычисление мультипликативно обратного элемента D=E-1 mod Fn по заданным Fn, E.
Возможный вариант заголовка функции:
unsigned int FormD(
unsigned int Fn, unsigned int E, unsigned int &D);
Код возврата: 1 обратный элемент не существует; 0 в противном случае.
Решение примера выполняется на доске (в диалоговом режиме).
Рассматриваются предложения нескольких вариантов реализации, обсуждаются слабые места и выбираются варианты для последующей реализации на лабораторной работе.
17-03-2011 |
Реализация упрощенного |
|
варианта RSA-преобраз |