P−1 Metoda Pollard

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 4 aprilie 2019; verificările necesită 2 modificări .

Metoda lui Pollard este una dintre metodele de factorizare a întregilor .

Publicat pentru prima dată de matematicianul britanic John Pollard în 1974 [1] . Apariția acestui algoritm a condus [2] la o schimbare a conceptului de număr prim puternic folosit în criptografie , vorbind vag, un număr prim pentru care are divizori suficient de mari. În criptosistemele moderne, ei încearcă [2] să folosească numere prime puternice, deoarece acest lucru crește securitatea algoritmilor utilizați și a sistemelor în ansamblu.

Definiții și fundal matematic

Un număr se numește - power- smooth [3] dacă toți divizorii săi primi, în puterile în care sunt incluși în extinderea acestui număr , satisfac . Conform micii teoreme a lui Fermat , pentru orice număr prim și pentru orice număr întreg astfel încât și sunt coprim , sau, care este echivalent în acest caz, nu împarte , avem:

, mai mult .

Algoritmul original (1974)

John Pollard a publicat pentru prima dată algoritmul descris mai jos în articolul său din 1974 „Theorems of Factorization and Primality Testing” în Proceedings of the Cambridge Philosophical Society [ 1] . Articolul este dedicat estimării teoretice a complexității factorizării unui număr mare sau, în cazul unui număr prim , verificării lui pentru simplitate. Următorul algoritm a fost o consecință și o ilustrare a calculelor teoretice ale lui Pollard.

Prima etapă

  1. Sarcina este să-și găsească propriul divizor al unui număr diferit de unul. În primul rând, trebuie să alegeți două numere astfel încât .
  2. Să calculăm acum numărul , unde toate numerele prime sunt mai mici decât . Aici este permisă o oarecare libertate în alegerea lui , dar se știe sigur că pentru mic , ar trebui să fie mai mare decât unu [1] .
  3. Alegem un întreg mic și calculăm
dacă am găsit divizorul , în caz contrar trecem la a doua etapă.

Etapa a doua

unde este un prim, , sperând că la un pas vom ajunge

Notă

Folosind această metodă, vom putea găsi numai astfel de divizori primi ai numărului pentru care [1] este adevărată :

sau , unde este -power-smooth și este prim astfel încât [1] .

Versiunea modernă

Această versiune revizuită a algoritmului, în comparație cu originalul, folosește conceptele de uniformitate a legii puterii și se concentrează pe aplicații practice. Prima etapă a suferit modificări semnificative, în timp ce a doua a rămas practic neschimbată, din nou, din punct de vedere teoretic, nu s-a adăugat nimic semnificativ față de versiunea anterioară. Algoritmul de mai jos este cel care se referă atunci când oamenii vorbesc despre „metoda Pollard” [4] [5] .

Prima etapă

  1. Fie -smooth puterea, și este necesar să se găsească divizorul numărului . În primul rând, se calculează numărul în care produsul se realizează peste toate numerele prime în puteri maxime
  2. Apoi divizorul dorit [4] , unde .
  1. În cazul în care se poate spune cu siguranță că y are un divizor care este puterea netedă și o alegere diferită trebuie să rezolve problema .
  2. Într-un caz mai frecvent, când merită să treceți la a doua etapă a algoritmului, ceea ce crește semnificativ probabilitatea unui rezultat, deși nu o garantează.
Exemplu

Să alegem , atunci , să luăm și să calculăm acum , și în sfârșit .

Note
  • Pentru numere mari , numărul se poate dovedi a fi foarte mare, comparabil ca valoare cu , în astfel de cazuri poate fi recomandabil să factorizați aproximativ aceeași valoare și să calculați succesiunea
.

Etapa a doua

  • În primul rând, trebuie să fixați limitele , de obicei [5] [4] .
  • A doua etapă a algoritmului găsește divizori , astfel încât , unde este o putere netedă și prim astfel încât .
  1. Pentru cele ce urmează, vom avea nevoie de un vector de numere prime de la până la , din care să se obțină ușor un vector de diferențe între aceste numere prime , de altfel , sunt numere relativ mici, iar , unde este o mulțime finită [4] . Pentru a accelera funcționarea algoritmului, este util să precalculați toate [4] și să folosiți valori gata făcute.
  2. Acum este necesar să se calculeze secvenţial , unde , calculat în prima etapă, numărând la fiecare pas . De îndată ce , puteți opri calcularea.

Condiții de convergență

  • Fie cel mai mic divizor , maximul să fie luat peste toate puterile împărțind [4] .
    • Dacă , atunci divizorul va fi găsit la prima etapă a algoritmului
    [4] .
  • În caz contrar, pentru succesul algoritmului, este necesar ca , și toți ceilalți divizori ai formei să fie mai mici decât [4] .

Modificări și îmbunătățiri

Evaluarea performanței

  • Complexitatea primei etape este estimată ca , lăsând doar termenul de ordinul cel mai înalt, se obține estimarea primei etape a algoritmului [4] .
  • Conform estimării lui Montgomery, complexitatea celei de-a doua etape, până la termeni de ordinul cel mai înalt, este [1] [4] , unde numărul de numere prime este mai mic decât . Estimarea lui Cebyshev oferă o egalitate aproximativă .

Înregistrări

În acest moment (10.10.2016), cei mai mari trei divizori primi găsiți prin metoda P-1 constau din 66, 64 și 59 de cifre zecimale [7] .

Numărul de cifre p Divizor de număr Găsit de cine Când a fost găsit B B2
66 672038771836751227845696565342450315062141551559473564642434674541 = 2 2 3 5 7 17 23 31 163 401 617 4271 13681 22877 43397 203459 1396027 6995393 13456591 211040281 T. Nogara 29.06.2006
64 1939611922516629203444058938928521328695726603873690611596368359 = 2 3 11 1187 9233729 13761367 43294577 51593573 100760321 379192511 2282985164293 + 1 M. Tervuren 13.09.2012
59 12798830540286697738097001413455268308836003073182603569933 = 2 2 17 59 107 113 20414117 223034797 269477639 439758239 481458247 1015660517 + 1 A. Krupp 30.06.2011

Aplicații

  • GMP-ECM [8] - pachetul include aplicarea eficientă a metodei -.
  • Prime95 și MPrime, clienți oficiali GIMPS , folosesc o metodă pentru a elimina candidații.

Vezi și

Note

  1. 1 2 3 4 5 6 7 Pollard, 1974 .
  2. 1 2 Karaarslan E. Primality Testing Techniques and The Importance of Prime Numbers in Security Protocols  // ICMCA'2000 : Proceedings of the Third International Symposium Mathematical & Computational Applications - Konya : 2000. - P. 280-287.
  3. Vasilenko, 2003 , p. 60.
  4. 1 2 3 4 5 6 7 8 9 10 11 Ișmukhametov, 2011 , p. 53-55.
  5. 1 2 3 Cohen, 2000 , pp. 439.
  6. 1 2 Montgomery, Silverman, 1990 .
  7. Zimmerman, Paul . Factori de înregistrare găsiți prin metoda p-1  a lui Pollard . Les pages des personnels du LORIA și du Centre Inria NGE. Consultat la 10 octombrie 2016. Arhivat din original pe 11 octombrie 2016.
  8. InriaForge: GMP-ECM (Eliptic Curve Method): Project Home . Consultat la 15 noiembrie 2012. Arhivat din original la 21 iulie 2012.

Literatură