Методичні вказівки до практичних занять з дисципліни “Оcнови теорїї захисту інформації”, страница 7

Рішення цього рівняння можна отримати з допомогою ланцюгових дробів:

                                                            (2.6)

                                            (2.7).

Відношення а/b розкладається в ланцюговий дріб.  - порядок  ланцюгового дробу, тобто коефіцієнт, у якого залишок рівний нулю.

Знаходимо параметри:

а/b  представляється у вигляді ланцюгового дробу.

                                                       (2.8)

μ - порядок ланцюгового дробу, перший коефіцієнт, у якого залишок рівний 0

                                                                           (2.9)

                                                      (2.10)

для всіх членів, що залишилися,  починаючи з третього, справедливо:

                                                               (2.11)

При великих N – велике значення μ.  μ ≈ ⅓ N. Таким чином, для розв’язку порівняння (2.5). Необхідно представити а/b в вигляді ланцюгового дробу, визначивши при цьому значення r0, r1, …rm та значення m. Потім визначитися згідно (2.9) –(2.11) a, m, b та x і y.

2.3 Приклади розв’язку задач

Задача 1

Нехай Р=11, Q=7, Е=37. Побудуйте ключову пару (Ek, Dk) для RSA-перетворення.

Розв’язок задачі:

Модуль перетворення має значення

N = P*Q = 11*7 = 77

Розраховуємо значення функцій Ойлера

j(N) = (P-1)(Q-1) = 10*6 =60 = 23 3*5

Для знаходження Dk ключа розв’яжемо порівняння

Представимо це порівняння у вигляді (2.4)

Підставимо значення j (Nj) та Ek маємо

представимо а/b у вигляді ланцюгового дробу

 

60/37=1+23/37; 37/23=1+14/23; 23/14=1+9/14; 14/9=1+5/9; 9/5=1+4/5; 5/4=1+1/4; 4/1=4+0;

Значить           =6;

Тоді значення можна знайти з виразу

;

Підрахуємо коефіцієнти, а0, а1, а2, а3, а4 та а5.

Визначимо ключ розшифрування

 y = Dk = (-1)6*13 = 13

Перевірку здійснюємо підстановкою значень Ek та Dk в основне порівняння.

.

Таким чином (Ek =37 та Dk= 13) є ключова пара RSA-перетворення.

Задача 2

Нехай Р=11 і Q=7. Побудувати пару (Ek, Dk) для RSA-перетворення, обґрунтувавши та вибравши один із випадкових ключів.

Розв’язок задачі:

Знаходимо модуль перетворення та значення функції Ойлера j (N)

Порівняння виду

Залишимо у вигляді Діафантового рівняння

.

Вибравши випадково Ek ключ взаємопростий з функцією Ейлера, тобто (Ek, j (N)) = 1 маємо

.

Тепер представимо a/b у вигляді ланцюгового дробу.

 

60/17=3+9/17; 17/9=1+8/9; 9/8=1+1/8; 8/1=8+0;

Таким чином

*    =3.

Розраховуємо значення y=D, використовуючи співвідношення (2.6)

;

Знаходимо рекурентне значення а2.

Підставивши значення в а2. (2.6) маємо

Таким чином пара

складає RSA ключову пару.

Перевірка:

Підставивши значення ключів Ek =17та Dk = 53 маємо

.

Задача 3

Нехай Р=11 і Q=7. Виберемо Е=9 в якості випадкового ключа і побудуємо пару (Ek, Dk) для RSA ключів.

Розв’язок задачі:

Знаходимо модуль RSA  перетворення та значення функції Ейлера.

Ключ Dk знайдемо із порівняння (2.6)

Далі зведемо вищенаведене порівняння до Діафантового рівняння

 

Знайдемо розклад ланцюгового дробу.

 

60/9=6+6/9; 9/6=1+3/6; 6/3=2+0;

Оскільки НЗД, то рішення для пари ключів (Ek, Dk) немає.

2.4 Задачі для самостійного розв’язку

1.Побудувати пару (Ek , Dk) для криптоаналізу RSA, якщо  (значення Р і Q дивись у таблиці )

n

1

2

3

4

5

6

7

8

9

10

Pп

29

11

11

11

23

7

29

17

19

19

Qп

11

17

23

13

17

23

7

7

7

11

  де

       - номер за списком

Якщо , то .

2.Розв’язати порівняння, якщоN = Nп  (значення Р і Q дивись у таблиці )

n

1

2

3

4

5

6

7

8

9

10

Nп

187

203

297

189

351

209

133

391

143

145