Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретико-числовые алгоритмы в криптографии.pdf
Скачиваний:
304
Добавлен:
23.03.2015
Размер:
2.46 Mб
Скачать
(jz)!

74 Гл. 2. Факторизация целых чисел с экспоненциальной сложностью

Обозначим f(x) = z−1(x − i). Тогда

i=0

f(jz) = ((j − 1)z)! .

Ниже в главе 9, посвященной дискретному преобразованию Фурье, будет показано, что набор чисел

f(jz) (mod t), j = 1, . . . , z,

можно найти за O(z log2 z log2 t) арифметических операций. Кроме того, для нахождения первого нетривиального

НОД(t, f(jz) (mod t)), j = 1, . . . , z,

надо затратить zO(log t) = O(z log t) арифметических операций. Итоговая оценка сложности составляет

O(z log2 z log2 t) + O(z log t) + z = O(z log2 z log2 t),

что и завершает доказательство теоремы. Алгоритм Полларда—Штрассена может использоваться как непо-

средственно для факторизации не очень больших целых чисел, так и в качестве вспомогательного алгоритма в дополнительной стратегии PS в субэкспоненциальных алгоритмах факторизации целых чисел. Об этом будет рассказано в следующей главе.

§ 2.7. (P + 1)-метод Уильямса и его обобщения

В работе [283] описан метод факторизации чисел n N с помощью последовательностей чисел Люка. Этот метод аналогичен (P − 1)-ме- тоду Полларда, но использует разложение на множители числа P + 1. В работе [59] метод был обобщен на основе использования произвольных круговых многочленов. Суть (P + 1)-метода заключается в следующем.

Рассматривается последовательность чисел Люка, определяемая соотношениями

u0 = 0, u1 = u, un+1 = Pun − Qun−1,

где P, Q — фиксированные целые числа. Пусть p — простой делитель факторизуемого натурального числа n такой, что p + 1 является B-сте- пенно-гладким, т. е.

 

k

p =

i

qi i 1,

 

=1

§ 2.8. Методы Шэнкса

75

где qi — простые числа, qi i B. Пусть числа i N таковы, что

qi i B, qi i+1 > B, i = 1, . . . , k.

k

Положим R = qi i . Тогда p + 1 | R. Если для последовательности чи-

i=1

сел Люка параметр Q взаимно прост с n и выполнено условие

P2 4Q =

p

1

(оба эти условия эвристически обеспечиваются некоторым случайным перебором P и Q), то по свойствам последовательностей чисел Люка

p | НОД(uR, n).

Дальнейшая работа алгоритма заключается в достаточно быстром вычислении элемента последовательности uR и нахождении НОД(uR, n).

В работе [283] указано, что данный метод является довольно-та- ки медленным на практике. В работе [59] доказано, что для обобщения (P + 1)-метода Уильямса с применением круговых многочленов в предположении расширенной гипотезы Римана может быть доказана вероятностная полиномиальная оценка сложности.

§ 2.8. Методы Шэнкса

Два метода факторизации целых чисел, использующих бинарные квадратичные формы, принадлежат Д. Шэнксу, см. [233; 248; 284]. Первый из них работает с положительно определенными бинарными квадратичными формами заданного отрицательного дискриминанта, и в группе классов форм он находит амбигову форму, которая дает разложение дискриминанта на множители. Сложность этого метода составляет O(n1/5+ ) арифметических операций при условии выполнения расширенной гипотезы Римана. Второй метод носит название SQUFOF и использует группу классов бинарных квадратичных форм с положительным дискриминантом. Здесь также происходит нахождение амбиговой формы, дающей разложение дискриминанта. Сложность SQUFOF составляет O(n1/4+ ) арифметических операций;при этом алгоритм работает с целыми числами, не превосходящими 2 n. Среди алгоритмов факторизации с экспоненциальной сложностью SQUFOF считается одним из самых эффективных.

76 Гл. 2. Факторизация целых чисел с экспоненциальной сложностью

Детальное описание алгоритмов Шэнкса выходит за рамки данной книги, поскольку требует привлечения ряда фактов из теории бинарных квадратичных форм. Для справок см. [84; 89, гл. 8].

§ 2.9. Прочие методы. Заключение

Для чисел n специального вида возможны особые подходы к факторизации, поскольку делители таких чисел могут также иметь специальный вид.

Теорема 2.21. Пусть b, k N, b > 1, n = bk 1. Если p — простое число, делящее n, то выполнено одно из двух утверждений:

1.p | bd 1 при некотором d < k, d | k;

2.p ≡ 1 (mod k).

При этом, если p > 2 и

k — нечетно,

то во втором случае

p ≡ 1 (mod 2k).

малой теореме

Ферма bp−1

d

1 (mod p),

k

Доказательство. По

 

а также b ≡ 1 (mod p). Пусть d = НОД(k, p − 1), тогда b ≡ 1 (mod p). Если d < k, то это означает выполнение первого утверждения теоремы. Если же d = k, то k | p − 1, т. е. p ≡ 1 (mod k).

Пример 2.22. Пусть n = 211 1. Тогда первое утверждение теоремы не выполняется, так как 11 — простое число и d = 1 не подходит (21 1 = 1). Следовательно, p ≡ 1 (mod 22). После этого сразу находим n = 23 · 89.

Обзор методов факторизации с экспоненциальной сложностью можно найти в работе [273]. Более поздние работы см. в списках литературы книг [60; 89]. Заметим, что в печати достаточно часто появляются новые работы, содержащие алгоритмы факторизации с экспоненциальной сложностью. Однако практическая значимость таких алгоритмов, как правило, невелика. Наиболее популярными

впрактических вычислениях являются (P − 1)-метод Полларда, -ме- тод Полларда и алгоритм Полларда—Штрассена. Они используются

всочетании с субэкспоненциальными методами факторизации, которые будут описаны в главе 3, и применяются, как правило, для предварительного отделения небольших простых делителей у факторизуемого числа.