
- •Лекція № 28(7.1) з дисципліни
- •28.1 Методи та алгоритми криптоаналізу асиметричних криптосистем
- •28.2 Сутність та класифікація методів криптоаналізу асиметричних криптосистем
- •28.3. Методи криптоаналізу rsa криптосистем
- •28.3.1. Методика криптоаналізу rsa
- •28.3.2. Основні методи факторизації rsa
- •28.3.3. Метод факторизації ρ-Полларда
- •28. 4. Метод факторизації «квадратичне решето»
- •28.5 Особливості факторизації на основі загального «решета числового поля»
- •28.6. Порівняння складності факторизації rsa модулів перетворення
28.3.2. Основні методи факторизації rsa
З появою алгоритму RSA послідовно з часом були розроблені та реалізовані ряд методів факторизації модуля перетворення N [236, 422, 423, 11, 421, 4, 96, 9–13]. У цілому методи факторизації можна поділити на два великих класи – з експоненційною та субекспоненційною складністю. Окремо можна розглядати поліноміальний метод (Гордона Чалмерса) [421].
До експоненційно складних належать такі методи:
перебирання типу «груба сила» зі складністю О(N1/2);
ρ-Полларда метод зі складністю О(N1/4);
P–1 Полларда метод;
P+1 метод Вільямса;
метод квадратичних форм Шенкса зі складністю О(N1/4);
метод Лемана.
До субекспоненційни[методів належать:
метод Діксона зі складністю LN(1/2, 2
);
метод безперервних дробів зі складністю LN(1/2, );
метод квадратичного решета зі складністю LN(1/2,
);
метод еліптичних кривих зі складністю Lp(1/2, ), де P – найменше просте, яке ділить N;
метод решета числового поля зі складністю LN(1/3,(64/9)1/3);
метод спеціального решета числового поля зі складністю LN(1/3,(32/9)1/3).
Окремо необхідно назвати с.
28.3.3. Метод факторизації ρ-Полларда
Метод
факторизації ρ-Полларда ґрунтується
на створенні колізії елементів кільця
ZN
[5,
12, 96]. Його сутність полягає у знаходженні
цілих чисел Х
і Y,
які порівнюються за
,
тобто
(9.3)
Порівняння (9.3) можна подати у вигляді
а також у вигляді рівняння:
(9.4)
Сутність
реалізації
методу можна звести до такого. За
допомогою деякої функції
будується послідовність точок згідно
з рис. 9.1 (крива ρ-Полларда).
Рис. 9.1. Крива ρ- Полларда створення колізії
Після здійснення колізії знаходимо значення одного з простих чисел способом обчислення найбільшого спільного дільника між (X–Y) та N, тобто
НСД
(9.5)
Застосування цього методу суттєво залежить від вибору функції, згідно з якою будується крива ρ-Полларда. Очевидно, єдиного підходу тут немає. Розглянемо практичні приклади для малих значень N [13].
Приклад 9.1. Факторизувати модуль N, використавши мето ρ-Поларда, якщо
N
= 221, f(x)
= xi
= axi-1
+ c
(при
а
= 11,
=
127, с
= 1).
Розв’язання задачі.
,
x1 = 118; НСД (127–118, 221) = (9, 221)=1 (тобто спільних дільників немає).
,
x2 = 19; НСД (118-19,221) = НСД (99,221) = 1.
Таким чином, НСД (х1 – х2, N) знову не має спільного дільника.
.
Розрахуємо послідовно хі поки, НСД (х1 – х2, N) різнитиметься від 1 або N.
x3 = 210; НСД (191,221) = 1,
,
x4 = 7; НСД (203, 221) =1,
,
x5 = 78; НСД (71,221) = 1,
,
x6 = 91.
Для х6 маємо НСД (х6 – х5, N) = НСД (91–78, 221) = НСД (13, 221) = 13.
Таким чином, один зі співмножників модуля N є 13, наприклад, P=13. Тоді Q=N/P=221/13=17. Перевіряємо правильність розв’язку, знайшовши P×Q = 221.
Приклад
9.2.
Факторизувати число N
= 209, якщо f(x)
=xi
= x2
+ 1(mod
N),
тобто
прийнявши,
що
.
Розв’язання задачі.
x1 = (172 + 1)mod 209 = 81,
x2 = (812 + 1)mod 209 = 83,
НCД (2, 209) = 1 (розв’язку немає),
x3 = (832 + 1)mod 209 = 202,
x4 = (2022 + 1)mod 209 = 50,
x3 – x4 = |202-50| = 152.
НCД (152, 209) = 19.
Таким чином, один зі співмножників, наприклад P=19, тоді Q=209/19=11.
У цілому необхідно відмітити, що метод ρ-Полларда ґрунтується скоріше на інтуїції чи досвіді. Для практичних значень N він зараз, на наш ключів погляд, не реалізовний. Його єдиною перевагою є можливість розпаралелювання обчислень. У той же час відмітимо, що він застосовується при дискретному логарифмуванні в групах точок еліптичних кривих як найбільш ефективний [12].