Алгоритм Диксона
Алгоритм Диксона — алгоритм факторизации, использующий в своей основе идею Лежандра, заключающуюся в поиске пары целых чисел
и
таких, что
и 
Метод Диксона является обобщением метода Ферма.
Содержание |
[править] Предварительные вычисления
Пусть задано подмножество простых чисел
, называемое факторной базой.
Каждому
-гладкому числу сопоставляется вектор показателей из разложения
, а также двоичный вектор, полученный из вектора
приведением всех его координат по модулю 2,
.
Если теперь подобрать такое множество различных
-гладких чисел
, что выполнится линейное соотношение
то для произведения
выполнится сравнение
где
определяется как
[править] Описание алгоритма
- Выбирается случайное
и вычисляется
. - Проверка, факторизуют ли числа из факторной базы
. - Если
является
-гладким числом, то есть:
и
. Повторять процедуру генерации чисел
до тех пор, пока не будет найдено
чисел чисел
, являющихся
-гладкими. - Найти линейную зависимость:
.
.
- Проверить
. Если это так, то повторить процедуру генерации. Если нет, то найдено нетривиальное разложение:
[править] Вычислительная сложность
Среднюю временную арифметическую сложность алгоритма Диксона можно оценить выражением
,
где
— сложность решения системы из
линейных уравнений от
неизвестных. В данном случае
.
Возьмем в качестве
величину
, где
, тогда
Отсюда следует, что трудоемкость алгоритма Диксона оценивается следующим образом
[править] Литература
- Василенко О. Н. Теоретико-числовые алгоритмы в криптографии. 2003. Стр. 78-83.
- Черемушкин А. В. Лекции по арифметическим алгоритмам в криптографии. 2002. Стр. 77-80.


.


и вычисляется
.
и
. Повторять процедуру генерации чисел
до тех пор, пока не будет найдено
чисел чисел
, являющихся
.
.
. Если это так, то повторить процедуру генерации. Если нет, то найдено нетривиальное разложение:

,

