Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
28 Лк 28(7.1) 2012.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
194.65 Кб
Скачать

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,

x3x4 = |202-50| = 152.

НCД (152, 209) = 19.

Таким чином, один зі співмножників, наприклад P=19, тоді Q=209/19=11.

У цілому необхідно відмітити, що метод ρ-Полларда ґрунтується скоріше на інтуїції чи досвіді. Для практичних значень N він зараз, на наш ключів погляд, не реалізовний. Його єдиною перевагою є можливість розпаралелювання обчислень. У той же час відмітимо, що він застосовується при дискретному логарифмуванні в групах точок еліптичних кривих як найбільш ефективний [12].

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]