Метод факторизації Ферма — алгоритм факторизації (розклад на множники) непарного цілого числа n, представлений П'єром Ферма (1601—1665) у 1643 році.
Метод заснований на пошуку таких цілих чисел і , які задовольняють відношення , що веде до розкладу .
Історія
На початку XVII століття у Франції математичні ідеї почали активно поширюватися між вченими за допомогою листування. В 1638 році до кола вчених, які листувалися приєднався П'єр Ферма. Листування було зручним способом спілкування, так як Ферма жив в Тулузі, а багато його знайомих вчених жили в Парижі.
Одним таким вченим був Марен Мерсенн, який займався розповсюдженням листів, пересиланням і зв'язком багатьох вчених між собою. 26 грудня 1638 року в листі Мерсенну Ферма згадав, що знайшов метод, за допомогою якого можна знаходити подільники позитивних чисел, але будь-які подробиці і опис методу він опустив. На той момент Мерсенн також вів листування з французьким математиком , який займався, як і Ферма, теорією чисел, зокрема, дільниками натуральних чисел і досконалими числами. На початку 1640 року, дізнавшись про те, що Ферма отримав метод знаходження дільників, Френікль написав Мерсенну, і той переслав листа Ферма.
Мерсенн довгий час був сполучною ланкою між двома математиками в їх листуванні. Саме в листах Френіклю Ферма зміг довести коректність методу факторизації, а також вперше сформулювати й обґрунтувати основні положення теореми, яка пізніше була названа Малою теоремою Ферма.
Обґрунтування
Метод Ферма заснований на теоремі про подання числа у вигляді різниці двох квадратів :
Якщо непарне, то існує взаємно однозначна відповідність між розкладанням на множники і поданням у вигляді різниці квадратів з , що задається формулами |
Якщо задана факторизація , тоді має місце відношення: . Таким чином виходить уявлення у вигляді різниці двох квадратів. Назад, якщо дано, що , то праву частину можна розкласти на множники: .
Опис алгоритму
Для розкладання на множники непарного числа шукається пара чисел таких, що , або . При цьому числа і є множниками , можливо, тривіальними (тобто одне з них дорівнює 1, а інше — .)
У нетривіальною випадку, рівність рівносильно , тобто того, що є квадратом.
Пошук квадрата такого виду починається з — найменшого числа, при якому різниця невід'ємна.
Для кожного значення починаючи з , обчислюють і перевіряють, чи не є це число точним квадратом. Якщо не є, то збільшують на одиницю і переходять на наступну ітерацію.
Якщо є точним квадратом, тобто то отримано розкладання:
- в якому
Якщо воно є тривіальним і єдиним, то — просте.
На практиці значення виразу на -ому кроці вираховується з врахуванням значення на -ому кроці:
- де
Приклади
Приклад із малим числом ітерацій
Візьмемо число . Обчислимо Для будемо обчислювати значення функції . Для подальшої простоти побудуємо таблицю, яка буде містити значення і на кожному кроці ітерації. отримаємо:
1 | 363 | 19,052 |
2 | 576 | 24 |
Як видно з таблиці, вже на другому кроці ітерації отримано ціле значення .
Таким чином має місце рівність: . Звідки випливає, що
Приклад із більшою кількістю ітерацій
Нехай Тоді або
77 | 52374 | 228,854 |
78 | 53129 | 230,497 |
79 | 53886 | 232,134 |
80 | 54645 | 233,763 |
81 | 55406 | 235,385 |
82 | 56169 | 237 |
Цей розклад не є остаточним, оскільки число не є простим:
У підсумку, остаточний розклад початкового числа на добуток простих множників
Оцінка складності
Найбільша ефективність розрахунку методом факторизації Ферма досягається в разі, коли множники числа приблизно рівні між собою. Це забезпечує відносно короткий пошук послідовності
.
У найгіршому варіанті, коли, наприклад, близько до а близько до 1, алгоритм Ферма працює гірше в порівнянні з методом перебору дільників. Число ітерацій для даного випадку:
тобто, очевидно, що воно має порядок
Метод факторизації Ферма буде працювати не гірше методу перебору дільників, якщо , звідки можна отримати оцінку для більшого дільника Отже, метод Ферма має експонентну оцінку і, як метод пробного поділу, не підходить для розкладання великих чисел. Можна вдосконалити його, якщо виконати спочатку пробний поділ на числа від 2 до деякої константи B, а потім виконати пошук дільників методом Ферма. Такий похід допомагає позбутися від малих дільників числа .
Удосконалення
Відсіювання
При пошуку квадрата натурального числа в послідовності чисел не обов'язково обчислювати квадратний корінь із кожного значення цієї послідовності. Для попереднього відсіювання можна скористатися тим, що квадрат натурального числа по модулю будь-якого числа має бути квадратичним лишком.
Наприклад, будь-який квадрат по модулю 5 дорівнює одному з наступних значень: 0, 1, 4.
Можна попередньо обчислити квадратичні лишки для кількох простих чисел , і перевіряти чи належить до обчисленої множини. Лише коли є квадратичним лишком за всіма вибраними , здійснюється обчислення кореня.
Як модуль можна застосовувати й степені простих чисел, зокрема, двійки. Наприклад, по модулю 16 усі квадрати рівні 0, 1, 4 або 9.
Удосконалення шляхом домноження
Метод Ферма добре працює коли у числа є множник, близький до квадратного кореня з .
Якщо ж відомо приблизне співвідношення між множниками числа , то можна вибрати раціональне число , приблизно рівне цьому співвідношенню. Тоді можна записати таку рівність: , де множники і близькі в силу зроблених припущень. Тому застосувавши метод Ферма для розкладання числа , їх можна досить швидко знайти. Далі для пошуку і можна застосувати рівності і (у разі, якщо не ділиться на і не ділиться на ).
У загальному випадку, коли співвідношення між множниками невідоме, можна перебрати різні співвідношення , і спробувати розкласти числа . Алгоритм, заснований на цьому методі, запропонував американський математик Шерман Леман в 1974 році. Алгоритм Лемана детерміновано розкладає на множники задане натуральне число за арифметичних операцій, однак у XXI сторіччі становить тільки історичний інтерес і на практиці майже не застосовується.
Метод Крайчика
Узагальнення методу Ферма запропонував Моріс Крайчик в 1926 році. Замість пар чисел які задовольняють співвідношенню , Крайчик запропонував шукати пари чисел, що задовольняють більш загальному порівнянню Таке порівняння можна знайти, перемноживши кілька порівнянь виду , де — невеликі числа, добуток яких буде квадратом. Для цього можна розглянути пари чисел , де — цілий числа трохи більше , а . Крайчик не запропонував конкретного алгоритму пошуку пар та способу їх складання, однак зауважив, що багато з отриманих таким чином чисел розкладаються на невеликі прості множники, тобто числа є гладкими
- 1. Знайти багато пар які задовольняють відношення
- 2. Визначити повний або частковий розклад чисел і на множники для кожної пари
- 3. Вибрати пари результати яких задовольняють відношення
- 4. Розкласти число на множники.
Приклад
За допомогою методу Крайчика розкладемо число . Число є першим, чий квадрат більший за число : .
Визначимо функцію для всіх Ми отримаємо
За методом Ферма, потрібно було б продовжувати розрахунок, доки не буде знайдено квадрат якого-небудь числа. За методом Крайчика потрібно знайти кілька таких , добуток яких являє собою квадрат. Якщо і , тоді
Деякі з отриманих чисел можна легко факторизувати.
Справді:
А з отриманого розкладу можна побачити, що добуток цих чотирьох чисел являє собою повний квадрат: Тепер можна обчислити
Оскільки , то за алгоритмом Евкліда обчислюємо найбільшого спільного дільника (1416 - 311) та 2041:
- .
Таким чином,
У 1981 році математик Карлтонського університету Джон Діксон опублікував розроблений ним метод факторизації на основі ідеї Крайчика.
Алгоритм Діксона заснований на понятті про факторні бази і є узагальненням алгоритму факторизації Ферма. В алгоритмі замість пар чисел, що задовольняють рівнянню шукають пари чисел, що задовольняють більш загальному порівнянню . Обчислювальна складність алгоритму
де
Подальші вдосконалення
Ідея Крайчика лежить в основі найшвидших відомих методів факторизації великих напівпростих чисел — методу квадратичного решета і загального методу решета числового поля. Основна відмінність методу квадратичного решета від методу Ферма полягає в тому, що замість пошуку квадрата в послідовності шукають пари таких чисел, чиї квадрати рівні по модулю (кожна з цих пар може бути розкладанням числа ). Потім вже серед знайдених пар чисел шукають ту пару, яка і є розкладанням числа
Розвитком методу факторизації Ферма є метод квадратичних форм Шенкса[][ ] (також відомий як SQUFOF), ґрунтований на застосуванні квадратичних форм. Для 32-розрядних комп'ютерів алгоритми, які ґрунтуються на цьому методі, є безумовними лідерами серед алгоритмів факторизації для чисел від до .
Застосування
Алгоритм факторизації Ферма можна застосувати для криптоаналізу RSA. Якщо випадкові числа , добуток яких дорівнює , близькі одне до одного, то їх можна знайти методом факторизації Ферма. Після чого можна знайти секретну експоненту , «зламавши» таким чином RSA . На час публікації алгоритму RSA (1977 рік) було відомо небагато алгоритмів факторизації, найвідомішим серед яких був метод Ферма.
Цікаві факти
Відомий англійський економіст і логіст У. С. Джевонс зробив у своїй книзі «Принципи науки» («The Principles of Science», 1874 року таке припущення:
За даними двома числами можна знайти їх добуток простим і надійним способом, але зовсім інша справа, коли для великого числа необхідно знайти його множники. Чи можна сказати, які два числа перемножити, щоб вийшло число 8 616 460 799? Я думаю, що навряд чи хто-небудь окрім мене знає це.
Вказане Джевонсом число може бути розкладено вручну методом Ферма приблизно за 10 хвилин[]. Справді, . За 55 кроків можна дійти до співвідношення:
Таким чином розклад на прості множники має вигляд .
Втім, основна думка Джевонса — про складність розкладання чисел на прості множники в порівнянні з їх перемноженням — справедлива, але тільки в тому випадку, коли мова про добуток чисел, що не настільки близькі одне до одного.
Примітки
- Нестеренко, 2011, 7.2.2 Как быстро проверить, что число является полным квадратом (стор. 145—148).
- Нестеренко, 2012, 7.3 Метод Лемана (стор. 149).
- Нестеренко, 2012, Метод Крайчика (с. 173).
- C. Pomerance. A Tale of Two Sieves, 1996, с. 1495.
- Василенко, 2003, 75—76.
- Benne de Weger. Cryptanalysis of RSA with Small Prime Difference. — Appl. Algebra Eng. Commun. Comput., 2002. — Vol. 13, no. 1. — P. 17–28. — DOI: .
- Sounak Gupta, Goutam Paul. Revisiting Fermat’s Factorization for the RSA Modulus. — CoRR, 2009. — Vol. abs/0910.4179.
- Principles of Science, Macmillan & Co., 1874, p. 141.
Література
- Задірака В. К., Олексюк О. С. Комп'ютерна арифметика багаторозрядних чисел: наукове видання. — К.: 2003. — 264 с.
- Метод факторизації: навч. посіб. для студентів ВНЗ / Г. Я. Попов, В. І. Острик ; М-во освіти і науки України, Одес. нац. ун-т ім. І. І. Мечникова. — Одеса: ОНУ, 2014. — 118 с. : іл. — Бібліогр.: с. 114—116 (32 назви). —
- Л. Тимошенко, С. Івасьєв, К. Вербик. Удосконалений метод Ферма факторизації чисел // Проблеми становлення інформаційної економіки в Україні: матеріали Всеукр. наук.-практ. конф.. — Львів : Ліга-Прес, 2014. — 24 жовтня. — С. 280—283.
- російською мовою
- Василенко О. Н. Теоретико-числовые алгоритмы в криптографии. — М. : МЦНМО, 2003. — 328 с. — .
- Ишмухаметов Ш. Т. Методы факторизации натуральных чисел: учебное пособие. — Казань : Казан. ун, 2011. — 190 с.
- Нестеренко А.Ю. Теоретико-числовые методы в криптографии. — учебное пособие. — Москва : Московский государственный институт электроники и математики, 2012. — 223 с. — .
- Коблиц Н. Курс теории чисел и криптографии. — М. : Научное издательство ТВП, 2001. — 254 с. — .
- англійською мовою
- Bressoud D. M. Factorization and Primality Testing. — New York : Springer-Verlag, 1989. — 260 с. — .
- Mahoney M. S. The Mathematical Career of Pierre de Fermat. — Paris : Princeton Univ. Press, 1994. — С. 324-332. — .
- Carl Pomerance. A Tale of Two Sieves. — Notices Amer. Math. Soc, 1996. — Vol. 43, no. 12. — P. 1473–1485.
- французькою мовою
- Kraitchik M. ANALYSE INDÉTERMINÉE DU SECOND DEGRÉ ET FACTORISATION. CHAPITRE XIV. // THEORIE DES NOMBRES. — Paris : Gauthier-Villars, 1926. — Т. 2. — С. 195-208. — .
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Metod faktorizaciyi Ferma algoritm faktorizaciyi rozklad na mnozhniki neparnogo cilogo chisla n predstavlenij P yerom Ferma 1601 1665 u 1643 roci P yer Ferma Metod zasnovanij na poshuku takih cilih chisel x displaystyle x i y displaystyle y yaki zadovolnyayut vidnoshennya x 2 y 2 n displaystyle x 2 y 2 n sho vede do rozkladu n x y x y displaystyle n x y cdot x y IstoriyaNa pochatku XVII stolittya u Franciyi matematichni ideyi pochali aktivno poshiryuvatisya mizh vchenimi za dopomogoyu listuvannya V 1638 roci do kola vchenih yaki listuvalisya priyednavsya P yer Ferma Listuvannya bulo zruchnim sposobom spilkuvannya tak yak Ferma zhiv v Tuluzi a bagato jogo znajomih vchenih zhili v Parizhi Odnim takim vchenim buv Maren Mersenn yakij zajmavsya rozpovsyudzhennyam listiv peresilannyam i zv yazkom bagatoh vchenih mizh soboyu 26 grudnya 1638 roku v listi Mersennu Ferma zgadav sho znajshov metod za dopomogoyu yakogo mozhna znahoditi podilniki pozitivnih chisel ale bud yaki podrobici i opis metodu vin opustiv Na toj moment Mersenn takozh viv listuvannya z francuzkim matematikom yakij zajmavsya yak i Ferma teoriyeyu chisel zokrema dilnikami naturalnih chisel i doskonalimi chislami Na pochatku 1640 roku diznavshis pro te sho Ferma otrimav metod znahodzhennya dilnikiv Frenikl napisav Mersennu i toj pereslav lista Ferma Mersenn dovgij chas buv spoluchnoyu lankoyu mizh dvoma matematikami v yih listuvanni Same v listah Freniklyu Ferma zmig dovesti korektnist metodu faktorizaciyi a takozh vpershe sformulyuvati j obgruntuvati osnovni polozhennya teoremi yaka piznishe bula nazvana Maloyu teoremoyu Ferma ObgruntuvannyaMetod Ferma zasnovanij na teoremi pro podannya chisla u viglyadi riznici dvoh kvadrativ Yaksho n gt 1 displaystyle n gt 1 neparne to isnuye vzayemno odnoznachna vidpovidnist mizh rozkladannyam na mnozhniki n a b displaystyle n a cdot b i podannyam u viglyadi riznici kvadrativ n x 2 y 2 displaystyle n x 2 y 2 z x gt y gt 0 displaystyle x gt y gt 0 sho zadayetsya formulami x a b 2 displaystyle x tfrac a b 2 y a b 2 displaystyle y tfrac a b 2 a x y displaystyle a x y b x y displaystyle b x y Dovedennya Yaksho zadana faktorizaciya n a b displaystyle n a cdot b todi maye misce vidnoshennya n a b a b 2 2 a b 2 2 displaystyle n a cdot b tfrac a b 2 2 tfrac a b 2 2 Takim chinom vihodit uyavlennya u viglyadi riznici dvoh kvadrativ Nazad yaksho dano sho n x 2 y 2 displaystyle n x 2 y 2 to pravu chastinu mozhna rozklasti na mnozhniki x y x y displaystyle x y x y Opis algoritmuDlya rozkladannya na mnozhniki neparnogo chisla n displaystyle n shukayetsya para chisel x y displaystyle x y takih sho x 2 y 2 n displaystyle x 2 y 2 n abo x y x y n displaystyle x y cdot x y n Pri comu chisla x y displaystyle x y i x y displaystyle x y ye mnozhnikami n displaystyle n mozhlivo trivialnimi tobto odne z nih dorivnyuye 1 a inshe n displaystyle n U netrivialnoyu vipadku rivnist x 2 y 2 n displaystyle x 2 y 2 n rivnosilno x 2 n y 2 displaystyle x 2 n y 2 tobto togo sho x 2 n displaystyle x 2 n ye kvadratom Poshuk kvadrata takogo vidu pochinayetsya z x n displaystyle x left lceil sqrt n right rceil najmenshogo chisla pri yakomu riznicya x 2 n displaystyle x 2 n nevid yemna Dlya kozhnogo znachennya k N displaystyle k in mathbb N pochinayuchi z k 1 displaystyle k 1 obchislyuyut n k 2 n displaystyle left lceil sqrt n right rceil k 2 n i pereviryayut chi ne ye ce chislo tochnim kvadratom Yaksho ne ye to k displaystyle k zbilshuyut na odinicyu i perehodyat na nastupnu iteraciyu Yaksho n k 2 n displaystyle left lceil sqrt n right rceil k 2 n ye tochnim kvadratom tobto x 2 n n k 2 n y 2 displaystyle x 2 n left lceil sqrt n right rceil k 2 n y 2 to otrimano rozkladannya n x 2 y 2 x y x y a b displaystyle n x 2 y 2 x y x y a cdot b v yakomu x n k displaystyle x left lceil sqrt n right rceil k Yaksho vono ye trivialnim i yedinim to n displaystyle n proste Na praktici znachennya virazu na k 1 displaystyle k 1 omu kroci virahovuyetsya z vrahuvannyam znachennya na k displaystyle k omu kroci s 1 2 n s 2 2 s 1 n displaystyle left s 1 right 2 n s 2 2s 1 n de s n k displaystyle s left lceil sqrt n right rceil k PrikladiPriklad iz malim chislom iteracij Vizmemo chislo n 10873 displaystyle n 10873 Obchislimo s n 105 displaystyle s left lceil sqrt n right rceil 105 Dlya k 1 2 displaystyle k 1 2 budemo obchislyuvati znachennya funkciyi s k displaystyle s k Dlya podalshoyi prostoti pobuduyemo tablicyu yaka bude mistiti znachennya y s k 2 n displaystyle y s k 2 n i y displaystyle sqrt y na kozhnomu kroci iteraciyi otrimayemo k displaystyle k y displaystyle y y displaystyle sqrt y 1 363 19 052 2 576 24 Yak vidno z tablici vzhe na drugomu kroci iteraciyi otrimano cile znachennya y displaystyle sqrt y Takim chinom maye misce rivnist 105 2 2 n 24 2 displaystyle 105 2 2 n 24 2 Zvidki viplivaye sho n 107 2 24 2 131 83 10873 displaystyle n 107 2 24 2 131 cdot 83 10873 Priklad iz bilshoyu kilkistyu iteracij Nehaj n 89755 displaystyle n 89755 Todi n 299 591 displaystyle sqrt n approx 299 591 abo s n 300 displaystyle s left lceil sqrt n right rceil 300 k displaystyle k y displaystyle y y displaystyle sqrt y 77 52374 228 854 78 53129 230 497 79 53886 232 134 80 54645 233 763 81 55406 235 385 82 56169 237 y 237 displaystyle sqrt y 237 a s k y 300 82 237 619 displaystyle a s k sqrt y 300 82 237 619 b s k y 300 82 237 145 displaystyle b s k sqrt y 300 82 237 145 Cej rozklad ne ye ostatochnim oskilki chislo 145 displaystyle 145 ne ye prostim 145 29 5 displaystyle 145 29 cdot 5 U pidsumku ostatochnij rozklad pochatkovogo chisla n displaystyle n na dobutok prostih mnozhnikiv 89755 5 29 619 displaystyle 89755 5 cdot 29 cdot 619 Ocinka skladnostiNajbilsha efektivnist rozrahunku metodom faktorizaciyi Ferma dosyagayetsya v razi koli mnozhniki chisla n displaystyle n priblizno rivni mizh soboyu Ce zabezpechuye vidnosno korotkij poshuk poslidovnosti s 2 n s 1 2 n s 2 2 n s k 2 n displaystyle s 2 n s 1 2 n s 2 2 n s k 2 n U najgirshomu varianti koli napriklad a displaystyle a blizko do n displaystyle n a b displaystyle b blizko do 1 algoritm Ferma pracyuye girshe v porivnyanni z metodom pereboru dilnikiv Chislo iteracij dlya danogo vipadku Iter n a b 2 n 1 2 n 2 n 1 2 displaystyle operatorname Iter n tfrac a b 2 left lceil n 1 2 right rceil thickapprox tfrac n 2 left lceil n 1 2 right rceil tobto ochevidno sho vono maye poryadok O n displaystyle O n Metod faktorizaciyi Ferma bude pracyuvati ne girshe metodu pereboru dilnikiv yaksho Iter n lt n 1 2 displaystyle operatorname Iter n lt n 1 2 zvidki mozhna otrimati ocinku dlya bilshogo dilnika a lt 4 n 1 2 displaystyle a lt 4 n 1 2 Otzhe metod Ferma maye eksponentnu ocinku i yak metod probnogo podilu ne pidhodit dlya rozkladannya velikih chisel Mozhna vdoskonaliti jogo yaksho vikonati spochatku probnij podil n displaystyle n na chisla vid 2 do deyakoyi konstanti B a potim vikonati poshuk dilnikiv metodom Ferma Takij pohid dopomagaye pozbutisya vid malih dilnikiv chisla n displaystyle n UdoskonalennyaVidsiyuvannya Pri poshuku kvadrata naturalnogo chisla v poslidovnosti chisel v i a i 2 n displaystyle v i a i 2 n ne obov yazkovo obchislyuvati kvadratnij korin iz kozhnogo znachennya ciyeyi poslidovnosti Dlya poperednogo vidsiyuvannya mozhna skoristatisya tim sho kvadrat naturalnogo chisla po modulyu bud yakogo chisla maye buti kvadratichnim lishkom Napriklad bud yakij kvadrat po modulyu 5 dorivnyuye odnomu z nastupnih znachen 0 1 4 Mozhna poperedno obchisliti kvadratichni lishki dlya kilkoh prostih chisel p j displaystyle p j i pereviryati chi nalezhit v i mod p displaystyle v i mod p do obchislenoyi mnozhini Lishe koli v i displaystyle v i ye kvadratichnim lishkom za vsima vibranimi p j displaystyle p j zdijsnyuyetsya obchislennya korenya Yak modul mozhna zastosovuvati j stepeni prostih chisel zokrema dvijki Napriklad po modulyu 16 usi kvadrati rivni 0 1 4 abo 9 Udoskonalennya shlyahom domnozhennya Metod Ferma dobre pracyuye koli u chisla n displaystyle n ye mnozhnik blizkij do kvadratnogo korenya z n displaystyle n Yaksho zh vidomo priblizne spivvidnoshennya d c displaystyle d c mizh mnozhnikami chisla n displaystyle n to mozhna vibrati racionalne chislo u v displaystyle u v priblizno rivne comu spivvidnoshennyu Todi mozhna zapisati taku rivnist n u v c v d u displaystyle nuv cv cdot du de mnozhniki c v displaystyle cv i d u displaystyle du blizki v silu zroblenih pripushen Tomu zastosuvavshi metod Ferma dlya rozkladannya chisla n u v displaystyle nuv yih mozhna dosit shvidko znajti Dali dlya poshuku c displaystyle c i d displaystyle d mozhna zastosuvati rivnosti gcd n c v c displaystyle gcd n cv c i gcd n d u d displaystyle gcd n du d u razi yaksho u displaystyle u ne dilitsya na c displaystyle c i v displaystyle v ne dilitsya na d displaystyle d U zagalnomu vipadku koli spivvidnoshennya mizh mnozhnikami n displaystyle n nevidome mozhna perebrati rizni spivvidnoshennya u i v i displaystyle u i v i i sprobuvati rozklasti chisla n u i v i displaystyle n cdot u i cdot v i Algoritm zasnovanij na comu metodi zaproponuvav amerikanskij matematik Sherman Leman v 1974 roci Algoritm Lemana determinovano rozkladaye na mnozhniki zadane naturalne chislo n displaystyle n za O n 1 3 displaystyle O n 1 3 arifmetichnih operacij odnak u XXI storichchi stanovit tilki istorichnij interes i na praktici majzhe ne zastosovuyetsya Dokladnishe metod Lemana Metod Krajchika Uzagalnennya metodu Ferma zaproponuvav Moris Krajchik v 1926 roci Zamist par chisel x y displaystyle x y yaki zadovolnyayut spivvidnoshennyu x 2 y 2 n displaystyle x 2 y 2 n Krajchik zaproponuvav shukati pari chisel sho zadovolnyayut bilsh zagalnomu porivnyannyu x 2 y 2 mod n displaystyle x 2 equiv y 2 pmod n Take porivnyannya mozhna znajti peremnozhivshi kilka porivnyan vidu u i 2 v i displaystyle u i 2 equiv v i de v i displaystyle v i neveliki chisla dobutok yakih bude kvadratom Dlya cogo mozhna rozglyanuti pari chisel u i v i displaystyle u i v i de u i displaystyle u i cilij chisla trohi bilshe n displaystyle sqrt n a v i u i 2 n displaystyle v i u i 2 n Krajchik ne zaproponuvav konkretnogo algoritmu poshuku par u v displaystyle u v ta sposobu yih skladannya odnak zauvazhiv sho bagato z otrimanih takim chinom chisel v i displaystyle v i rozkladayutsya na neveliki prosti mnozhniki tobto chisla v i displaystyle v i ye gladkimi Poslidovnist dij po Krajchiku 1 Znajti bagato par x y displaystyle x y yaki zadovolnyayut vidnoshennya x y mod n displaystyle x equiv y pmod n 2 Viznachiti povnij abo chastkovij rozklad chisel x displaystyle x i y displaystyle y na mnozhniki dlya kozhnoyi pari x y displaystyle x y 3 Vibrati pari x y displaystyle x y rezultati yakih zadovolnyayut vidnoshennya x 2 y 2 mod n displaystyle x 2 equiv y 2 pmod n 4 Rozklasti chislo n displaystyle n na mnozhniki Priklad Za dopomogoyu metodu Krajchika rozklademo chislo n 2041 displaystyle n 2041 Chislo 46 displaystyle 46 ye pershim chij kvadrat bilshij za chislo n displaystyle n 46 2 2116 displaystyle 46 2 2116 Viznachimo funkciyu v u u 2 n displaystyle v u u 2 n dlya vsih u 46 47 displaystyle u 46 47 dots Mi otrimayemo 75 168 263 360 459 560 displaystyle 75 168 263 360 459 560 dots Za metodom Ferma potribno bulo b prodovzhuvati rozrahunok doki ne bude znajdeno kvadrat yakogo nebud chisla Za metodom Krajchika potribno znajti kilka takih v i displaystyle v i dobutok yakih yavlyaye soboyu kvadrat Yaksho v u 1 v u 2 v u k y 2 displaystyle v u 1 v u 2 v u k y 2 i u 1 u 2 u k x displaystyle u 1 u 2 dots u k x todi x 2 u 1 2 u 2 2 u k 2 u 1 2 n u 2 2 n u k 2 n v u 1 v u 2 v u k y 2 mod n displaystyle x 2 u 1 2 u 2 2 u k 2 equiv u 1 2 n cdot u 2 2 n cdots u k 2 n v u 1 cdot v u 2 cdots v u k y 2 pmod n Deyaki z otrimanih chisel u k 2 n displaystyle u k 2 n mozhna legko faktorizuvati Spravdi 75 3 5 2 168 2 3 3 7 360 2 3 3 2 5 560 2 4 5 7 displaystyle 75 3 cdot 5 2 168 2 3 cdot 3 cdot 7 360 2 3 cdot 3 2 cdot 5 560 2 4 cdot 5 cdot 7 A z otrimanogo rozkladu mozhna pobachiti sho dobutok cih chotiroh chisel yavlyaye soboyu povnij kvadrat 2 10 3 4 5 4 7 2 displaystyle 2 10 cdot 3 4 cdot 5 4 cdot 7 2 Teper mozhna obchisliti x y displaystyle x y x 46 47 49 51 311 mod 2041 y 2 5 3 2 5 2 7 1416 mod 2041 displaystyle x 46 cdot 47 cdot 49 cdot 51 equiv 311 pmod 2041 y 2 5 cdot 3 2 cdot 5 2 cdot 7 equiv 1416 pmod 2041 Oskilki 311 1416 mod 2041 displaystyle 311 not equiv pm 1416 pmod 2041 to za algoritmom Evklida obchislyuyemo najbilshogo spilnogo dilnika 1416 311 ta 2041 gcd 1416 311 2041 13 displaystyle gcd 1416 311 2041 13 Takim chinom 2041 13 157 displaystyle 2041 13 cdot 157 U 1981 roci matematik Karltonskogo universitetu Dzhon Dikson opublikuvav rozroblenij nim metod faktorizaciyi na osnovi ideyi Krajchika Dokladnishe Metod faktorizaciyi Diksona Algoritm Diksona zasnovanij na ponyatti pro faktorni bazi i ye uzagalnennyam algoritmu faktorizaciyi Ferma V algoritmi zamist par chisel sho zadovolnyayut rivnyannyu x 2 y 2 n displaystyle x 2 y 2 n shukayut pari chisel sho zadovolnyayut bilsh zagalnomu porivnyannyu x 2 y 2 mod n displaystyle x 2 equiv y 2 pmod n Obchislyuvalna skladnist algoritmu T O L n 2 displaystyle T O left L left n right 2 right de L n exp ln n ln ln n displaystyle L left n right exp left sqrt ln n cdot ln ln n right Podalshi vdoskonalennya Ideya Krajchika lezhit v osnovi najshvidshih vidomih metodiv faktorizaciyi velikih napivprostih chisel metodu kvadratichnogo resheta i zagalnogo metodu resheta chislovogo polya Osnovna vidminnist metodu kvadratichnogo resheta vid metodu Ferma polyagaye v tomu sho zamist poshuku kvadrata v poslidovnosti a 2 n displaystyle a 2 n shukayut pari takih chisel chiyi kvadrati rivni po modulyu n displaystyle n kozhna z cih par mozhe buti rozkladannyam chisla n displaystyle n Potim vzhe sered znajdenih par chisel shukayut tu paru yaka i ye rozkladannyam chisla n displaystyle n Rozvitkom metodu faktorizaciyi Ferma ye metod kvadratichnih form Shenksa dzherelo sumnivno takozh vidomij yak SQUFOF gruntovanij na zastosuvanni kvadratichnih form Dlya 32 rozryadnih komp yuteriv algoritmi yaki gruntuyutsya na comu metodi ye bezumovnimi liderami sered algoritmiv faktorizaciyi dlya chisel vid 10 10 displaystyle 10 10 do 10 18 displaystyle 10 18 ZastosuvannyaAlgoritm faktorizaciyi Ferma mozhna zastosuvati dlya kriptoanalizu RSA Yaksho vipadkovi chisla p q displaystyle p q dobutok yakih dorivnyuye n displaystyle n blizki odne do odnogo to yih mozhna znajti metodom faktorizaciyi Ferma Pislya chogo mozhna znajti sekretnu eksponentu d displaystyle d zlamavshi takim chinom RSA Na chas publikaciyi algoritmu RSA 1977 rik bulo vidomo nebagato algoritmiv faktorizaciyi najvidomishim sered yakih buv metod Ferma Cikavi faktiVidomij anglijskij ekonomist i logist U S Dzhevons zrobiv u svoyij knizi Principi nauki The Principles of Science 1874 roku take pripushennya Za danimi dvoma chislami mozhna znajti yih dobutok prostim i nadijnim sposobom ale zovsim insha sprava koli dlya velikogo chisla neobhidno znajti jogo mnozhniki Chi mozhna skazati yaki dva chisla peremnozhiti shob vijshlo chislo 8 616 460 799 Ya dumayu sho navryad chi hto nebud okrim mene znaye ce Vkazane Dzhevonsom chislo mozhe buti rozkladeno vruchnu metodom Ferma priblizno za 10 hvilin dzherelo Spravdi n 92825 displaystyle left lceil sqrt n right rceil 92825 Za 55 krokiv mozhna dijti do spivvidnoshennya 92880 2 n 10233601 3199 2 displaystyle 92880 2 n 10233601 3199 2 Takim chinom rozklad na prosti mnozhniki maye viglyad 8616460799 89681 96079 displaystyle 8616460799 89681 cdot 96079 Vtim osnovna dumka Dzhevonsa pro skladnist rozkladannya chisel na prosti mnozhniki v porivnyanni z yih peremnozhennyam spravedliva ale tilki v tomu vipadku koli mova pro dobutok chisel sho ne nastilki blizki odne do odnogo PrimitkiNesterenko 2011 7 2 2 Kak bystro proverit chto chislo yavlyaetsya polnym kvadratom stor 145 148 Nesterenko 2012 7 3 Metod Lemana stor 149 Nesterenko 2012 Metod Krajchika s 173 C Pomerance A Tale of Two Sieves 1996 s 1495 Vasilenko 2003 75 76 Benne de Weger Cryptanalysis of RSA with Small Prime Difference Appl Algebra Eng Commun Comput 2002 Vol 13 no 1 P 17 28 DOI 10 1007 s002000100088 Sounak Gupta Goutam Paul Revisiting Fermat s Factorization for the RSA Modulus CoRR 2009 Vol abs 0910 4179 Principles of Science Macmillan amp Co 1874 p 141 LiteraturaZadiraka V K Oleksyuk O S Komp yuterna arifmetika bagatorozryadnih chisel naukove vidannya K 2003 264 s Metod faktorizaciyi navch posib dlya studentiv VNZ G Ya Popov V I Ostrik M vo osviti i nauki Ukrayini Odes nac un t im I I Mechnikova Odesa ONU 2014 118 s il Bibliogr s 114 116 32 nazvi ISBN 978 617 689 066 9 L Timoshenko S Ivasyev K Verbik Udoskonalenij metod Ferma faktorizaciyi chisel Problemi stanovlennya informacijnoyi ekonomiki v Ukrayini materiali Vseukr nauk prakt konf Lviv Liga Pres 2014 24 zhovtnya S 280 283 rosijskoyu movoyu Vasilenko O N Teoretiko chislovye algoritmy v kriptografii M MCNMO 2003 328 s ISBN 5 94057 103 4 Ishmuhametov Sh T Metody faktorizacii naturalnyh chisel uchebnoe posobie Kazan Kazan un 2011 190 s Nesterenko A Yu Teoretiko chislovye metody v kriptografii uchebnoe posobie Moskva Moskovskij gosudarstvennyj institut elektroniki i matematiki 2012 223 s ISBN 978 5 94506 320 4 Koblic N Kurs teorii chisel i kriptografii M Nauchnoe izdatelstvo TVP 2001 254 s ISBN 5 94057 103 4 anglijskoyu movoyu Bressoud D M Factorization and Primality Testing New York Springer Verlag 1989 260 s ISBN 0 387 97040 1 Mahoney M S The Mathematical Career of Pierre de Fermat Paris Princeton Univ Press 1994 S 324 332 ISBN 0 691 03666 7 Carl Pomerance A Tale of Two Sieves Notices Amer Math Soc 1996 Vol 43 no 12 P 1473 1485 francuzkoyu movoyu Kraitchik M ANALYSE INDETERMINEE DU SECOND DEGRE ET FACTORISATION CHAPITRE XIV THEORIE DES NOMBRES Paris Gauthier Villars 1926 T 2 S 195 208 ISBN 0 387 97040 1