Зворотний зв'язок

Розклад числа на прості множники

таку що значення zi є повіністю факторизованими у множині F :

,

та добуток деякої підмножини значень zi є повним квадратом:

z = = y2, y Z, fi {0, 1}

Якщо множина порівнянь із вказаними властивостями побудована, то поклавши x = і перевіривши виконання нерівності x y (mod n), отри маємо x2 y2 (mod n). Число d = НСД(x2 – y2, n) є нетривіальним дільником n.

Приклад. Знайти дільник числа n = 143.

Обираємо випадково число x [2, 142], обчислюємо x2 (mod 143) та розкладаємо результат на множники:

1. z1 = 192 (mod 143) = 75 = 3 * 52.

2. z2 = 772 (mod 143) = 66 = 2 * 3 * 11.

3. z3 = 292 (mod 143) = 126 = 2 * 32 * 7.

4. z4 = 542 (mod 143) = 56 = 23 * 7.

Можна помітити, що добуток z3 та z4 є повним квадратом:

z = z3 * z4 = 24 * 32 * 72 = (22 * 3 * 7)2 = 842

Маємо рівність:

z3 * z4 = 292 * 542 842 (mod 143)

або враховуючи що 29 * 54 (mod 143)  136, маємо:

1362 = 842 (mod 143), при чому 136  84 (mod 143)

Дільником числа n = 143 буде d = НСД(136 – 84, 143) = НСД(52, 143) = 13.

Квадратичний алгоритм факторизації

Серед усіх існуючих алгоритмів факторизації найшвидшим є квадратичний. Він ефективно застосовується для чисел, кількість цифр яких менша за 100 та які не мають малих простих дільників. Еврістичний аналіз, проведений Померансом [1] у 1981 році показав, що число N може бути розкладено на множники за час .

Нехай n – число, яке факторизується, m = . Розглянемо многочлен

q(x) = (x + m)2 - n

Квадратичний алгоритм обирає ai = x + m (x = 0, 1, 2, …), обчислює значення bi = (x + m)2 – n та перевіряє, чи факторизується bi у множниковій основі F = {p0, p1, p2, …, pt}.


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат