P−1 Pollardin menetelmä

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 4. huhtikuuta 2019 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .

Pollardin menetelmä on yksi kokonaislukujen tekijöiden laskentamenetelmistä .

Julkaisi ensimmäisen kerran brittiläinen matemaatikko John Pollard vuonna 1974 [1] . Juuri tämän algoritmin ilmestyminen johti [2] muutokseen kryptografiassa käytetyn vahvan alkuluvun käsitteessä , löyhästi sanottuna alkuluvun , jolle sillä on riittävän suuret jakajat. Nykyaikaisissa salausjärjestelmissä he yrittävät [2] käyttää vahvoja alkulukuja, koska tämä lisää käytettävien algoritmien ja järjestelmien turvallisuutta kokonaisuutena.

Määritelmät ja matemaattinen tausta

Lukua kutsutaan - power- smooth [3] , jos kaikki sen alkujakajat, niiden potenssien osalta, joihin ne sisältyvät tämän luvun laajennukseen , täyttävät . Fermatin pienen lauseen mukaan mille tahansa alkuluvulle ja mille tahansa kokonaisluvulle , joka ja ovat koprime , tai, joka on tässä tapauksessa ekvivalentti, ei jaa , meillä on:

, lisäksi .

Alkuperäinen algoritmi (1974)

John Pollard julkaisi ensimmäisen kerran alla kuvatun algoritmin vuoden 1974 artikkelissaan "Theorems of Factorization and Primality Testing" Proceedings of the Cambridge Philosophical Society -julkaisussa [ 1] . Artikkeli on omistettu suuren luvun tekijöiden laskemisen monimutkaisuuden teoreettiselle arvioinnille tai, jos kyseessä on alkuluku , sen tarkistamiseen yksinkertaisuuden vuoksi. Seuraava algoritmi oli seuraus ja esimerkki Pollardin teoreettisista laskelmista.

Ensimmäinen vaihe

  1. Tehtävänä on löytää oma jakaja muulle kuin yhdelle. Ensinnäkin sinun on valittava kaksi numeroa siten, että .
  2. Lasketaan nyt luku , jossa kaikki alkuluvut ovat pienempiä kuin . Tässä sallitaan jonkinlainen vapaus valinnassa , mutta tiedetään varmasti, että pienille , pitäisi olla suurempi kuin yksi [1] .
  3. Valitsemme pienen kokonaisluvun ja laskemme
jos olemme löytäneet jakajan , muussa tapauksessa siirrymme toiseen vaiheeseen.

Toinen vaihe

missä on alkuluku, toivoen, että jossain vaiheessa saamme

Huomautus

Tällä menetelmällä voimme löytää vain sellaiset luvun alkujakajat , joille [1] on tosi :

tai , jossa on -power-smooth ja on alkuluku sellainen, että [1] .

Moderni versio

Tämä uudistettu versio algoritmista alkuperäiseen verrattuna käyttää potenssilain sileyden käsitteitä ja keskittyy käytännön sovelluksiin. Ensimmäisessä vaiheessa tehtiin merkittäviä muutoksia, kun taas toinen pysyi käytännössä ennallaan, taaskaan teoreettisesta näkökulmasta mitään merkittävää ei lisätty edelliseen versioon verrattuna. Juuri alla olevaa algoritmia tarkoitetaan, kun puhutaan "Pollard-menetelmästä" [4] [5] .

Ensimmäinen vaihe

  1. Olkoon -smooth potenssi, ja se on löydettävä luvun jakaja . Ensinnäkin lasketaan luku, jossa tulo suoritetaan kaikilla alkuluvuilla maksimitehoilla
  2. Sitten haluttu jakaja [4] , jossa .
  1. Siinä tapauksessa , että voidaan varmuudella sanoa, että y :n jakaja on -sileä potenssi ja erilaisen valinnan täytyy ratkaista ongelma .
  2. Useimmissa tapauksissa, kun kannattaa siirtyä algoritmin toiseen vaiheeseen, mikä lisää merkittävästi tuloksen todennäköisyyttä, vaikka se ei takaa sitä.
Esimerkki

Valitaan sitten , otetaan ja lasketaan nyt ja lopuksi .

Muistiinpanot
  • Suurilla luvuilla luku voi osoittautua erittäin suureksi, arvoltaan verrattavissa olevaan arvoon , jolloin voi olla suositeltavaa kertoa suunnilleen sama arvo ja laskea sekvenssi
.

Toinen vaihe

  • Ensinnäkin sinun on vahvistettava rajat , yleensä [5] [4] .
  • Algoritmin toinen vaihe löytää jakajia , niin että , missä on potenssitasoinen ja alkuluku sellainen, että .
  1. Seuraavaa varten tarvitsemme alkulukuvektorin välillä - , josta on helppo saada erovektori näiden alkulukujen välillä , lisäksi , ovat suhteellisen pieniä lukuja, ja , missä on äärellinen joukko [4] . Algoritmin toiminnan nopeuttamiseksi on hyödyllistä laskea etukäteen kaikki [4] ja käyttää valmiita arvoja.
  2. Nyt on tarpeen laskea peräkkäin , jossa , laskettu ensimmäisessä vaiheessa, laskemalla jokaisessa vaiheessa . Heti kun , voit lopettaa tietojenkäsittelyn.

Lähentymisehdot

  • Otetaan pienin jakaja , maksimi ylittää kaikki potenssit jakamalla [4] .
    • Jos , niin jakaja löytyy algoritmin ensimmäisestä vaiheesta
    [4] .
  • Muussa tapauksessa algoritmin onnistumisen kannalta on välttämätöntä, että , ja kaikki muut muodon jakajat ovat pienempiä kuin [4] .

Muutokset ja parannukset

Suorituskyvyn arviointi

  • Ensimmäisen vaiheen monimutkaisuus on estimoituna , jolloin jäljelle jää vain korkeimman asteen termi, saadaan estimaatti algoritmin ensimmäisestä vaiheesta [4] .
  • Montgomeryn arvion mukaan toisen asteen monimutkaisuus korkeimpaan kertaluokkaan asti on [1] [4] , jossa alkulukujen määrä on pienempi kuin . Chebyshevin arvio antaa likimääräisen yhtäläisyyden .

Records

Tällä hetkellä (10.10.2016) kolme suurinta P-1-menetelmällä löydettyä alkujakajaa koostuvat 66, 64 ja 59 desimaalinumerosta [7] .

Numeroiden määrä s Numeronjakaja Kenen löytämä Kun löytyy 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

Sovellukset

Katso myös

Muistiinpanot

  1. 1 2 3 4 5 6 7 Pollard, 1974 .
  2. 1 2 Karaarslan E. Primaliteettitestaustekniikat ja alkulukujen merkitys suojausprotokollissa  // ICMCA'2000 : Kolmannen kansainvälisen symposiumin julkaisut Mathematical & Computational Applications - Konya : 2000. - S. 280-287.
  3. Vasilenko, 2003 , s. 60.
  4. 1 2 3 4 5 6 7 8 9 10 11 Ishmukhametov, 2011 , s. 53-55.
  5. 1 2 3 Cohen, 2000 , s. 439.
  6. 1 2 Montgomery, Silverman, 1990 .
  7. Zimmerman, Paul . Pollardin p-1 - menetelmällä  löydetyt ennätystekijät . Les pages des personnels du LORIA et du Centre Inria NGE. Haettu 10. lokakuuta 2016. Arkistoitu alkuperäisestä 11. lokakuuta 2016.
  8. InriaForge: GMP-ECM (Elliptic Curve Method): Project Home . Haettu 15. marraskuuta 2012. Arkistoitu alkuperäisestä 21. heinäkuuta 2012.

Kirjallisuus