Метод факторизації Діксона (або алгоритм Діксона) — імовірнісний алгоритм факторизації цілих чисел субекспоненційної складності. Алгоритм розробив , математик Карлтонського університету (1979).
Ідея
Метод заснований на ідеї Моріса Крайчика (Maurice Kraitchik), що узагальнює метод факторизації Ферма:
- У методі Ферма шукають числа, які задовольняють порівнянню , але досить часто виникають пари , в яких не є квадратом. Формально ці пари можна розглядати як порівняння .
- Крайчик відзначив, що такі пари можна множити між собою і в результаті отримати пару, яка задовольнятиме порівнянню .
- Якщо в такій парі , то найбільший спільний дільник чисел та буде нетривіальним дільником .
Якщо спробувати розкласти методом Ферма число , то на перших кроках отримаємо такі рівності:
Поміж перших різниць немає квадратів, втім, ці рівняння можна застосувати для розкладання . Хоча ні 32, ані 200 не є квадратами, однак квадратом є їх добуток: .
Отже з того, що:
- ,
- ,
випливає
- .
А оскільки
і , то число
Метод
Підготовчий крок
Метод передбачає, що вхідне число є складеним. Цю умову можна досить швидко перевірити за допомогою (ймовірнісних тестів простоти). Крім того, передбачається, що не являє собою степінь простого числа.
Також слід перевірити, що не ділиться на невеликі прості числа.
Перший крок методу Діксона полягає в пошуку таких пар чисел , у яких розкладається в добуток невеликих простих (такі числа називають гладкими).
Межу гладкості (найбільше просте в розкладі) визначають величиною , де:
- — параметр методу, що визначається з міркувань оптимізації . У базовому варіанті цей параметр дорівнює 1/2.
Множину простих чисел, які лежать у проміжку , називають факторною базою. Кількість простих у факторній базі () — її розмір.
У базовому варіанті, який запропонував Діксон, визначення гладкості числа здійснюється шляхом послідовного ділення на прості з факторної бази. Для кожного розкладеного зберігають вектор показників степенів у його розкладі .
Після того, як знайдено щонайменше k+1 гладких чисел (на одне більше, ніж розмір факторної бази), переходять до другого кроку.
На другому кроці зі знайдених розкладів потрібно скласти добуток, який буде повним квадратом.
Для повного квадрата всі показники степенів мають бути парними, отже, по модулю два вони будуть нульовими. Тож замість показників степенів розглядають їх залишки по модулю два. Оскільки вектори розміру k над (полем F2) утворюють векторний простір, то множина з к+1 векторів буде лінійно залежною, і в ній існує нетривіальна комбінація, яка дорівнює нульовому вектору. Коефіцієнти такої лінійної комбінації шукають як розв'язання системи лінійних рівнянь, наприклад, методом Гаусса. Усі знайдені коефіцієнти дорівнюватимуть одиниці або нулю, тобто, відповідний вектор або входить у склад добутку, або ні.
На третьому кроці зі знайдених пар будують добутки X та Y, такі, що .
Для чисел X та Y перевіряють умову: 1 < gcd(X ± Y, N) < N :
- Якщо умова виконана, то числа та являють собою нетривіальні дільники числа N.
- Якщо ж умова не виконується, слід продовжити пошук нових гладких чисел (повернутися на перший крок).
Імовірність успіху чи невдачі на цьому кроці оцінюється величиною 1/2, тому на практиці на першому кроці зазвичай шукають дещо більшу кількість гладких чисел — k+2, k+3, k+4…
Базовий алгоритм
Псевдокод
Вхід: натуральне число Вихід: нетривіальний дільник // Ініціалізація Обрати межу просіювання . Укласти факторну базу з простих чисел до обраної межі: , . repeat for to do Серед чисел знайти таке, квадрат якого по модулю повністю розкладається на множники факторної бази (такі числа називають B-гладкими): Запам'ятати та відповідний вектор степенів у розкладі: end for У множині векторів знайти таку підмножину , що добуток являє собою повний квадрат (усі степені в добутку — парні): Обчислити: while return
Приклад
Цей розділ потребує доповнення. |
Складність
Сам Діксон оцінив асимптотичну складність методу величиною .
У подальших дослідженнях його оцінку дещо поліпшили, зокрема, за рахунок того, що матриця, яка виникає на другому кроці, є розрідженою й для розв'язку СЛАУ можна застосувати методи, швидші за стандартний метод Гаусса:
- у нотації Ландау
- або в L-нотації
Застосування
Метод Діксона являє собою доволі зручну модель для отримання теоретичних оцінок складності без застосування недоведених гіпотез чи евристик. Втім, на практиці він майже не застосовується. Хоча метод потужніший за більшість раніше відомих, однак послідовне ділення на елементи факторної бази (для пошуку гладких чисел) триває довго, а оскільки ця частина є найбільш витратною, то алгоритм виявляється надто повільним.
Фактично, за схемою Діксона побудовано (опублікований 1975 року), а також набагато потужніше квадратичне решето (1982). Однак, в обох згаданих методах замість випадкового вибору та послідовного ділення на елементи факторної бази застосовують інші шляхи побудови пар та пошуку в них гладких чисел .
Варіанти оптимізації
Цей розділ потребує доповнення. |
Примітки
- Метод Діксона (як і інші методи із застосуванням факторних баз) неефективний для факторизації чисел, що являють собою степінь простого числа . Такі числа вельми рідкісні.
- Спосіб побудови пар метод не визначає — їх значення вважаються випадковими. Наприклад, можна брати послідовні , починаючи з , як у методі Ферма.
Джерела
- Ишмухаметов, 2011, 4.1. Идея Мориса Крейтчика и алгоритм Диксона (115—117).
- Василенко, 2003, с. 77.
- Василенко, 2003, § 3.2. Метод Диксона (78—79).
- Василенко, 2003, с. 80.
- Василенко, 2003, с. 79.
- Ишмухаметов, 2011, с. 118.
- Dixon, 1981, с. 257.
- Manindra Agrawal (30 вересня 2005). Notes by: Ashwini Aroskar (ред.). (PDF). Indian Institute of Technology Kanpur. Архів оригіналу (PDF) за 27 вересня 2007. Процитовано 13 липня 2019.
{{}}
: Проігноровано|chapter=
() - Василенко, 2003, с. 83.
- Ишмухаметов, 2011, с. 117.
Посилання
- Dixon John D. Asymptotically fast factorization of integers : Received September 5, 1979 // Mathematics of Computation. — 1981. — Т. 36. — С. 255—260.
- Василенко О. Н. Теоретико-числовые алгоритмы в криптографии. — Москва : МЦНМО, 2003. — С. 78—79. — 1000 прим. — .(рос.)
- Ишмухаметов Ш. Т. Методы факторизации натуральных чисел: учебное пособие. — Казань : Казанский университет, 2011. — 190 с.(рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Metod faktorizaciyi Diksona abo algoritm Diksona imovirnisnij algoritm faktorizaciyi cilih chisel subeksponencijnoyi skladnosti Algoritm rozrobiv matematik Karltonskogo universitetu 1979 IdeyaMetod zasnovanij na ideyi Morisa Krajchika Maurice Kraitchik sho uzagalnyuye metod faktorizaciyi Ferma U metodi Ferma shukayut chisla yaki zadovolnyayut porivnyannyu x 2 N y 2 displaystyle x 2 N y 2 ale dosit chasto vinikayut pari x i 2 N y i displaystyle x i 2 N y i v yakih y i displaystyle y i ne ye kvadratom Formalno ci pari mozhna rozglyadati yak porivnyannya x i 2 y i mod N displaystyle x i 2 equiv y i pmod N Krajchik vidznachiv sho taki pari mozhna mnozhiti mizh soboyu i v rezultati otrimati paru yaka zadovolnyatime porivnyannyu x 2 y 2 mod N displaystyle x 2 equiv y 2 pmod N Yaksho v takij pari x y mod N textstyle x not equiv pm y pmod N to najbilshij spilnij dilnik chisel x y displaystyle x y ta N displaystyle N bude netrivialnim dilnikom N displaystyle N PrikladYaksho sprobuvati rozklasti metodom Ferma chislo n 1649 displaystyle n 1649 to na pershih krokah otrimayemo taki rivnosti 41 2 1649 32 displaystyle 41 2 1649 32 42 2 1649 115 displaystyle 42 2 1649 115 43 2 1649 200 displaystyle 43 2 1649 200 Pomizh pershih riznic nemaye kvadrativ vtim ci rivnyannya mozhna zastosuvati dlya rozkladannya n displaystyle n Hocha ni 32 ani 200 ne ye kvadratami odnak kvadratom ye yih dobutok 32 200 6400 80 2 displaystyle 32 times 200 6400 80 2 Otzhe z togo sho 41 2 32 mod n displaystyle 41 2 equiv 32 pmod n 43 2 200 mod n displaystyle 43 2 equiv 200 pmod n viplivaye 41 43 2 80 2 mod n displaystyle 41 times 43 2 equiv 80 2 pmod n A oskilki 41 43 mod 1649 1763 mod 1649 114 displaystyle 41 times 43 pmod 1649 1763 pmod 1649 114 i 114 80 mod 1649 displaystyle 114 neq pm 80 pmod 1649 to chislo gcd 41 43 80 1649 gcd 1683 1649 17 displaystyle gcd 41 times 43 80 1649 gcd 1683 1649 17 maye buti netrivialnim dilnikom 1649 displaystyle 1649 u chomu prosto perekonatisya 1649 17 97 displaystyle 1649 17 97 MetodPidgotovchij krok Metod peredbachaye sho vhidne chislo n displaystyle n ye skladenim Cyu umovu mozhna dosit shvidko pereviriti za dopomogoyu jmovirnisnih testiv prostoti Krim togo peredbachayetsya sho n displaystyle n ne yavlyaye soboyu stepin prostogo chisla Takozh slid pereviriti sho n displaystyle n ne dilitsya na neveliki prosti chisla Pershij krok metodu Diksona polyagaye v poshuku takih par chisel x i 2 y i mod n displaystyle x i 2 equiv y i pmod n u yakih y i mod n displaystyle y i mod n rozkladayetsya v dobutok nevelikih prostih taki chisla nazivayut gladkimi Mezhu gladkosti B displaystyle B najbilshe proste v rozkladi viznachayut velichinoyu L a displaystyle L alpha de L n exp ln n ln ln n displaystyle L left n right exp left sqrt ln n cdot ln ln n right a displaystyle alpha parametr metodu sho viznachayetsya z mirkuvan optimizaciyi 0 lt a lt 1 displaystyle 0 lt alpha lt 1 U bazovomu varianti cej parametr dorivnyuye 1 2 Mnozhinu prostih chisel yaki lezhat u promizhku 2 p k L a displaystyle left 2 leq p k leq L alpha right nazivayut faktornoyu bazoyu Kilkist prostih u faktornij bazi k displaystyle k yiyi rozmir U bazovomu varianti yakij zaproponuvav Dikson viznachennya gladkosti chisla y i mod n b i displaystyle y i mod n b i zdijsnyuyetsya shlyahom poslidovnogo dilennya na prosti z faktornoyi bazi Dlya kozhnogo rozkladenogo b i p k P p k a i k displaystyle b i prod p k in P p k a ik zberigayut vektor pokaznikiv stepeniv u jogo rozkladi a i a i 1 a i 2 a i k textstyle a i a i 1 a i 2 ldots a i k Pislya togo yak znajdeno shonajmenshe k 1 gladkih chisel na odne bilshe nizh rozmir faktornoyi bazi perehodyat do drugogo kroku Na drugomu kroci zi znajdenih rozkladiv a i textstyle a i potribno sklasti dobutok yakij bude povnim kvadratom Dlya povnogo kvadrata vsi pokazniki stepeniv mayut buti parnimi otzhe po modulyu dva voni budut nulovimi Tozh zamist pokaznikiv stepeniv rozglyadayut yih zalishki po modulyu dva Oskilki vektori rozmiru k nad polem F2 utvoryuyut vektornij prostir to mnozhina z k 1 vektoriv bude linijno zalezhnoyu i v nij isnuye netrivialna kombinaciya yaka dorivnyuye nulovomu vektoru Koeficiyenti takoyi linijnoyi kombinaciyi shukayut yak rozv yazannya sistemi linijnih rivnyan napriklad metodom Gaussa Usi znajdeni koeficiyenti dorivnyuvatimut odinici abo nulyu tobto vidpovidnij vektor abo vhodit u sklad dobutku abo ni Na tretomu kroci zi znajdenih par buduyut dobutki X ta Y taki sho X 2 Y 2 mod N displaystyle X 2 equiv Y 2 pmod N Dlya chisel X ta Y pereviryayut umovu 1 lt gcd X Y N lt N Yaksho umova vikonana to chisla gcd X Y N displaystyle gcd X Y N ta gcd X Y N displaystyle gcd X Y N yavlyayut soboyu netrivialni dilniki chisla N Yaksho zh umova ne vikonuyetsya slid prodovzhiti poshuk novih gladkih chisel povernutisya na pershij krok Imovirnist uspihu chi nevdachi na comu kroci ocinyuyetsya velichinoyu 1 2 tomu na praktici na pershomu kroci zazvichaj shukayut desho bilshu kilkist gladkih chisel k 2 k 3 k 4 Bazovij algoritmPsevdokod Vhid naturalne chislo N textstyle N Vihid netrivialnij dilnik N textstyle N Inicializaciya Obrati mezhu prosiyuvannya B textstyle B Uklasti faktornu bazu z prostih chisel do obranoyi mezhi P p 1 p 2 p k textstyle P p 1 p 2 ldots p k p k B textstyle p k leq B repeat for i 1 textstyle i 1 to k 1 textstyle k 1 do Sered chisel 0 lt z i lt N textstyle 0 lt z i lt N znajti take kvadrat yakogo po modulyu N textstyle N povnistyu rozkladayetsya na mnozhniki faktornoyi bazi taki chisla nazivayut B gladkimi z i 2 mod N p j P p j a i j displaystyle z i 2 pmod N prod p j in P p j a ij Zapam yatati z i textstyle z i ta vidpovidnij vektor a i a i 1 a i 2 a i k textstyle a i a i1 a i2 ldots a ik stepeniv p k textstyle p k u rozkladi end for U mnozhini vektoriv a i textstyle a i znajti taku pidmnozhinu T 1 2 k 1 textstyle T subseteq 1 2 ldots k 1 sho dobutok a i i T textstyle a i i in T yavlyaye soboyu povnij kvadrat usi stepeni v dobutku parni i T a i 0 mod 2 displaystyle sum i in T a i equiv vec 0 pmod 2 Obchisliti x i T z i mod N displaystyle x left prod i in T z i right pmod N y p j P p j i T a i j 2 mod N displaystyle y left prod p j in P p j frac sum i in T a ij 2 right pmod N while x y mod N textstyle x equiv pm y pmod N return gcd x y N textstyle gcd x y N Priklad Cej rozdil potrebuye dopovnennya Skladnist Sam Dikson ociniv asimptotichnu skladnist metodu velichinoyu O exp 2 3 log n log log n displaystyle O left exp left 2 sqrt 3 sqrt log n log log n right right U podalshih doslidzhennyah jogo ocinku desho polipshili zokrema za rahunok togo sho matricya yaka vinikaye na drugomu kroci ye rozridzhenoyu j dlya rozv yazku SLAU mozhna zastosuvati metodi shvidshi za standartnij metod Gaussa O exp 2 2 log n log log n displaystyle O left exp left 2 sqrt 2 sqrt log n log log n right right u notaciyi Landau abo L n 1 2 2 2 displaystyle L n left frac 1 2 2 sqrt 2 right v L notaciyi L n 1 2 2 displaystyle L n left frac 1 2 2 right ZastosuvannyaMetod Diksona yavlyaye soboyu dovoli zruchnu model dlya otrimannya teoretichnih ocinok skladnosti bez zastosuvannya nedovedenih gipotez chi evristik Vtim na praktici vin majzhe ne zastosovuyetsya Hocha metod potuzhnishij za bilshist ranishe vidomih odnak poslidovne dilennya na elementi faktornoyi bazi dlya poshuku gladkih chisel trivaye dovgo a oskilki cya chastina ye najbilsh vitratnoyu to algoritm viyavlyayetsya nadto povilnim Faktichno za shemoyu Diksona pobudovano opublikovanij 1975 roku a takozh nabagato potuzhnishe kvadratichne resheto 1982 Odnak v oboh zgadanih metodah zamist vipadkovogo viboru x i displaystyle x i ta poslidovnogo dilennya y i mod n displaystyle y i mod n na elementi faktornoyi bazi zastosovuyut inshi shlyahi pobudovi par x i y i displaystyle x i y i ta poshuku v nih gladkih chisel b i displaystyle b i Varianti optimizaciyiCej rozdil potrebuye dopovnennya PrimitkiMetod Diksona yak i inshi metodi iz zastosuvannyam faktornih baz neefektivnij dlya faktorizaciyi chisel sho yavlyayut soboyu stepin prostogo chisla n p m displaystyle n p m Taki chisla velmi ridkisni Sposib pobudovi par x i 2 y i mod N displaystyle x i 2 equiv y i pmod N metod ne viznachaye yih znachennya vvazhayutsya vipadkovimi Napriklad mozhna brati poslidovni x i displaystyle x i pochinayuchi z n displaystyle lceil sqrt n rceil yak u metodi Ferma DzherelaIshmuhametov 2011 4 1 Ideya Morisa Krejtchika i algoritm Diksona 115 117 Vasilenko 2003 s 77 Vasilenko 2003 3 2 Metod Diksona 78 79 Vasilenko 2003 s 80 Vasilenko 2003 s 79 Ishmuhametov 2011 s 118 Dixon 1981 s 257 Manindra Agrawal 30 veresnya 2005 Notes by Ashwini Aroskar red PDF Indian Institute of Technology Kanpur Arhiv originalu PDF za 27 veresnya 2007 Procitovano 13 lipnya 2019 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Proignorovano chapter dovidka Vasilenko 2003 s 83 Ishmuhametov 2011 s 117 PosilannyaDixon John D Asymptotically fast factorization of integers Received September 5 1979 Mathematics of Computation 1981 T 36 S 255 260 Vasilenko O N Teoretiko chislovye algoritmy v kriptografii Moskva MCNMO 2003 S 78 79 1000 prim ISBN 5 94057 103 4 ros Ishmuhametov Sh T Metody faktorizacii naturalnyh chisel uchebnoe posobie Kazan Kazanskij universitet 2011 190 s ros