Jump to content

Метод факторизации Диксона

(Перенаправлено из алгоритма Диксона )

В чисел теории метод факторизации Диксона (также метод случайных квадратов Диксона) [ 1 ] или алгоритм Диксона общего назначения факторизации целых чисел ) — алгоритм ; это прототип метода факторной базы . В отличие от других методов факторной базы, его оценка времени выполнения сопровождается строгим доказательством, которое не опирается на предположения о свойствах гладкости значений, принимаемых полиномом.

Алгоритм был разработан Джоном Д. Диксоном , математиком из Карлтонского университета , и опубликован в 1981 году. [ 2 ]

Основная идея

[ редактировать ]

Метод Диксона основан на нахождении сравнения квадратов по модулю целого числа N, которое предназначено для факторизации. Метод факторизации Ферма находит такое соответствие, выбирая случайные или псевдослучайные значения x и надеясь, что целое число x 2 mod N — идеальный квадрат (в целых числах):

Например, если N = 84923 (начав с 292, первого числа, большего N , и считая вверх), 505 2 mod 84923 равно 256, квадрату 16. Итак (505 − 16)(505 + 16) = 0 mod 84923 . Вычисление наибольшего общего делителя 505 - 16 и N с использованием алгоритма Евклида дает 163, что является коэффициентом N .

На практике выбор случайных значений x займет непрактично много времени, чтобы найти соответствие квадратов, поскольку существует только N квадратов меньше N .

Метод Диксона заменяет условие «является квадратом целого числа» на гораздо более слабое условие «имеет только небольшие простые множители»; например, 292 квадрата меньше 84923; 662 числа меньше 84923, простые делители которых равны всего 2,3,5 или 7; и 4767, все простые делители которых меньше 30. (Такие числа называются B-гладкими относительно некоторой границы B .)

Если чисел много квадраты которого можно факторизовать как за фиксированный набор малых простых чисел, линейная алгебра по модулю 2 на матрице даст подмножество чьи квадраты объединяются в произведение маленьких простых чисел в четную степень, то есть подмножество квадраты которого умножаются на квадрат (надеюсь, другого) числа по модулю N.

Предположим, что составное число N факторизуется. граница B Выбирается и определяется факторная база называется P ), набор всех простых чисел, меньших или равных B. ( которая Далее целые положительные числа z ищутся такие, что z 2 mod N является B -гладким. Поэтому мы можем написать для подходящих показателей a i ,

Когда создано достаточное количество этих отношений (обычно достаточно, чтобы число отношений было на несколько раз больше размера P ), методы линейной алгебры , такие как метод исключения Гаусса , можно использовать для перемножения этих различных отношений в таким образом, чтобы все показатели простых чисел в правой части были четными:

Это дает сравнение квадратов вида a 2 б 2 (mod N ), который можно превратить в факторизацию N , N = НОД ( a + b , N ) × ( N /НОД( a + b , N )). Эта факторизация может оказаться тривиальной (т. е. N = N × 1 ), что может произойти только в том случае, если a ≡ ± b (mod N ), и в этом случае необходимо сделать еще одну попытку с другой комбинацией отношений; но если достигается нетривиальная пара множителей N , алгоритм завершается.

Псевдокод

[ редактировать ]
input: positive integer 
output: non-trivial factor of 

Choose bound 
Let  be all primes 

repeat
    for  to  do
        Choose  such that  is -smooth
        Let  such that 
    end for

    Find non-empty  such that 
    Let 
        
while  

return 

В этом примере будет предпринята попытка факторизовать N = 84923, используя границу B = 7. базой фактора Тогда будет P = {2, 3, 5, 7}. Можно осуществлять поиск целых чисел между и N, квадраты которого по модулю N являются B -гладкими . Предположим, что два из найденных чисел — 513 и 537:

Так

Затем

То есть,

Полученная факторизация равна 84923 = НОД(20712 - 16800, 84923) × НОД(20712 + 16800, 84923) = 163 × 521.

Оптимизации

[ редактировать ]

Квадратичное решето — это оптимизация метода Диксона. Он выбирает значения x, близкие к квадратному корню из N, такие, что x 2 по модулю N невелик, что значительно увеличивает вероятность получения гладкого числа.

Другие способы оптимизации метода Диксона включают использование лучшего алгоритма для решения матричного уравнения, используя преимущества разреженности матрицы: число z не может иметь больше, чем коэффициенты, поэтому каждая строка матрицы почти полностью состоит из нулей. На практике блочный алгоритм Ланцоша часто используется . Кроме того, размер факторной базы необходимо выбирать осторожно: если она слишком мала, будет трудно найти числа, которые полностью факторизуются по ней, а если она слишком велика, придется собирать больше отношений.

Более сложный анализ, использующий приближение, согласно которому все простые делители числа меньше с вероятностью около (аппроксимация функции Дикмана-де Брюйна ), указывает на то, что выбор слишком маленькой факторной базы намного хуже, чем слишком большой, и что идеальный размер факторной базы равен некоторой степени .

Оптимальная сложность метода Диксона равна

в обозначении big-O , или

в L-нотации .

  1. ^ Кляйнъунг, Торстен; и др. (2010). «Факторизация 768-битного модуля RSA». Достижения криптологии – CRYPTO 2010 . Конспекты лекций по информатике. Том. 6223. стр. 333–350. дои : 10.1007/978-3-642-14623-7_18 . ISBN  978-3-642-14622-0 . S2CID   11556080 .
  2. ^ Диксон, доктор юридических наук (1981). «Асимптотически быстрая факторизация целых чисел» . Математика. Комп. 36 (153): 255–260. doi : 10.1090/S0025-5718-1981-0595059-1 . JSTOR   2007743 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 85882c10405e8d1dec416aa201f36033__1698591480
URL1:https://arc.ask3.ru/arc/aa/85/33/85882c10405e8d1dec416aa201f36033.html
Заголовок, (Title) документа по адресу, URL1:
Dixon's factorization method - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)