Factoring elliptisten käyrien kanssa

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 14. lokakuuta 2016 tarkistetusta versiosta . tarkastukset vaativat 57 muokkausta .

Faktorisointi elliptisiä käyriä käyttäen ( englanniksi  elliptic curve factorization method , lyhenne ECM ) tai Lenstran menetelmä elliptisiä käyriä käyttäen ( englanniksi  Lenstra elliptic curve factorization ) on algoritmi luonnollisen luvun faktorointiin elliptisten käyrien avulla . Tällä algoritmilla on subeksponentiaalinen monimutkaisuus [1] . ECM on kolmanneksi nopeimmin juokseva [2] yleisen lukukentän seulamenetelmän ja neliöllisen seulamenetelmän jälkeen .

Käytännössä se soveltuu parhaiten luvun pienten alkujakajien löytämiseen, ja siksi sitä pidetään erittäin erikoistuneena [3] algoritmina.

Se on paras algoritmi [4] 20-25 merkin pituisten alkujakajien etsimiseen (koko 64…83 bittiä), koska sen monimutkaisuus riippuu pääasiassa pienimmästä alkujakajasta p, ei tekijöihin sidotusta luvusta.

Käytetään usein tunnistamaan (hylkäämään) luvun pieniä alkulukujakajia. Jos algoritmin toiminnan jälkeen saatu luku on edelleen komposiitti, niin loput tekijät ovat suuria lukuja, ja lisälaajennuksessa on järkevää käyttää yleisempiä faktorointialgoritmeja.

Suurin tällä algoritmilla löydetty jakaja on 83 merkkiä pitkä ja Ryan Propper löysi sen 7.  syyskuuta 2013 [5] .

Algoritmi

Luonnollisen luvun faktorointialgoritmi (ei-triviaalin jakajan löytäminen) [6] :

  1. Valitaan satunnainen elliptinen käyrä , jonka yhtälö on muotoa : ja ei- triviaali piste valitaan tälle käyrälle . Tämä voidaan tehdä näin:
    1. Numerot valitaan satunnaisesti .
    2. Laskettu .
  2. Valitaan kokonaisluku , joka on suuren määrän pienten lukujen tulo. Esimerkiksi, kuten voit valita:
    • Factorial joitakin pieniä lukuja .
    • Useiden pienten alkulukujen tulo pieniin potenssiin. Toisin sanoen valitaan alkuluvut (jotka eivät ylitä tiettyä lukua ) ja asteet siten, että sopivaan potenssiin nostamisen tulos ei ylitä tiettyä lukua :
    missä  on suurin mahdollisista indikaattoreista, jossa .
  3. Elliptisen käyrän tulo lasketaan : , missä  on konsernilain määrittelemä summausoperaatio . Summausoperaatio vaatii summatut pisteet yhdistävän segmentin kaltevuuden löytämisen ja vaatii siksi jakomoduulin toiminnan . Modulo-operaatio suoritetaan käyttämällä laajennettua Euclid-algoritmia . Erityisesti jakaminen jollakin luvulla v (mod n ) sisältää gcd :n ( vn ) löytämisen . Tapauksessa gcd( vn ) 1, gcd( vn ) n , -lisäys ei anna mitään merkityksellistä pistettä elliptisellä käyrällä, mikä tarkoittaa, että gcd( vn ) on n: n  ei-triviaali jakaja . . Tämän perusteella seuraavat tapaukset ovat mahdollisia laskentaprosessissa:
    • Jos laskennan aikana ei havaittu irreversiibeliä elementtiä ( mod  n ) , on valittava toinen elliptinen käyrä ja piste ja toistettava algoritmi alusta.
    • Jos jossain vaiheessa , jossa ( ), niin sinun on valittava toinen elliptinen käyrä ja piste ja toistettava algoritmi alusta, koska piste pysyy ennallaan lisätoimintojen jälkeen.
    • Jos jossain laskentavaiheessa gcd( vn ) 1 ja gcd( vn ) n , niin gcd( vn )  on n:n vaadittu ei-triviaali jakaja .

Perustelut

Yhtälö , joka on otettu modulo luvun n mukaan, määrittää elliptisen käyrän . Jos luvut p ja q ovat kaksi luvun n  alkujakajaa , niin yllä oleva yhtälö on myös totta, kun ne otetaan modulo p tai modulo q . Eli : ja : määrittelevät vastaavasti kaksi elliptistä käyrää (pienempi kuin ). Jopa tietyllä summausoperaatiolla , eivät kuitenkaan  ole vain elliptisiä käyriä: ne ovat myös ryhmiä . Olkoon ne sisältävät N p ja N q elementtiä, vastaavasti, jos:

  1.  - mikä tahansa alkuperäisen käyrän piste
  2. ovat  positiivisia lukuja, kuten:
  3.  on minimi

Sitten Lagrangen lauseen mukaan se on totta

  1.  -jakaja

Samanlainen väite pätee myös käyrälle modulo q .

Elliptisellä käyrällä Z p :n yläpuolella olevan pisteryhmän järjestystä rajoittaa Hassen lause : p  + 1 − 2 p p + 1 + 2 √ p

Satunnaisesti valitulle elliptiselle käyrälle luvut N p ja N q ovat satunnaislukuja, joita rajoittaa Hassen lause (katso alla). On epätodennäköistä, että suurin osa N p :n ja N q :n alkujakajista ovat samat, ja on todennäköistä, että kun eP lasketaan, kohdataan jokin modulo p mutta ei mod q tai päinvastoin. Jos näin on, niin kP :tä ei ole alkuperäisellä käyrällä, ja laskelmissa löydettiin v niin, että joko gcd( v , p ) = p tai gcd( v , q ) = q , mutta ei molempia. Tällöin gcd( v , n ) on n:n ei-triviaali jakaja .

ECM on jalostus Pollardin vanhemmasta P-1-menetelmästä [7] . Algoritmi p  − 1 löytää p :n alkujakajia siten, että ( p  − 1)  on B-tasainen jollekin pienelle B :lle . Jokaiselle e :lle, joka on ( p  − 1) : n kerrannainen , ja mille tahansa a :lle , joka on suhteellisesti alkuluku p : hen , Fermatin lause pätee, että a e  ≡  1 (mod p ) . Silloin gcd ( a e  − 1,  n ) on n: n jakaja suurella todennäköisyydellä . Algoritmi p  − 1 kuitenkin epäonnistuu [7] , kun p :llä on suuret alkujakajat. ECM toimii tässä tapauksessa oikein, koska sen sijaan, että otettaisiin huomioon Z p ylittävä kertova ryhmä , jonka järjestys on aina p  − 1 , tarkastellaan satunnaisen elliptisen käyrän ryhmää äärellisen kentän Z p yli .

Elliptisellä käyrällä Z p :n päällä olevan pisteryhmän järjestystä rajoittaa Hassen lause : p  + 1 − 2 p p  + 1 + 2 p . Vaikuttaa tärkeältä tutkia [8] todennäköisyyttä, että jokin sileä luku voi olla tässä välissä (tässä tapauksessa on käyriä, joiden järjestys on sileä luku). Ei ole todisteita siitä, että Hasse-välissä olisi aina jokin sileä luku, mutta käyttämällä heuristisia todennäköisyysmenetelmiä, Canfield –Erdős-Pomerance -lausetta [ 9] ja L-merkintää , saadaan arvio, että riittää ottamaan L [ 2 /2, 2 ] käyriä, kunnes saadaan tasainen ryhmäjärjestys. Tämä heuristinen arvio soveltuu hyvin käytännössä.  

Esimerkki

Luvun n = 455839 faktorointi [ 10] .

Elliptinen käyrä ja tällä käyrällä oleva piste valitaan

10 lasketaan peräkkäin! P :

1. Pistekoordinaatit lasketaan .

.

2. Laskettu .

. Moduulin 593/106 laskemiseen voit käyttää laajennettua Euklidin algoritmia : 455839 = 4300 106 + 39, sitten 106 = 2 39 + 28, sitten 39 = 28 + 11, sitten 28 = 2 11 + 1 = 6, + 5, sitten 6 = 5 + 1. Siksi GCD(455839, 106) = 1 ja päinvastoin: 1 = 6 - 5 = 2 6 - 11 = 2 28 - 5 11 = 7 28 - 5 39 = 7 106 - 19 39 = 81707 106 - 19 455 839. Mistä 1/106 = 81707 (modi 455839), siis −593 / 106 = 322522 (modi 455839).

3. Samoin voit laskea , , ja niin edelleen. Laskettaessa 640 P , voit huomata, että käänteiselementin laskenta arvoon 599 (mod 455839) vaaditaan. Koska 455839 on jaollinen luvulla 599, löydetään tarvittava hajonta: 455839 = 599 761.

Laskennallinen monimutkaisuus

Olkoon n: n pienin jakaja p . Tällöin suoritettujen aritmeettisten operaatioiden lukumäärä voidaan arvioida arvolla [11] : (tai L - merkinnällä ). Jos korvaamme p : llä , saamme subeksponentiaalisen kompleksisuusestimaatin: .

Jos vertaamme elliptisten käyrien menetelmää muihin tekijöihin jakamismenetelmiin, niin tämä menetelmä kuuluu osaeksponentiaalisten [1] tekijöiden laskentamenetelmien luokkaan , ja siksi se toimii nopeammin kuin mikään eksponentiaalinen menetelmä. Verrattuna kvadraattiseen seulamenetelmään (QS) ja numerokenttäseulamenetelmään (NFS) kaikki riippuu n:n pienimmän jakajan koosta [ 12] . Jos luku n valitaan, kuten RSA :ssa, kahden suunnilleen samanpituisen alkuluvun tuloksi, niin elliptisen käyrän menetelmällä on sama estimaatti kuin neliöseulamenetelmällä, mutta se on huonompi kuin lukukenttäseulamenetelmä [13 ] .

Algoritmi projektiivisillä koordinaatteilla

Ennen kuin tarkastellaan projektiivista tasoa yli , kannattaa harkita tavallista projektiivista tasoa ℝ:n yli: pisteiden sijasta huomioidaan 0:n kautta kulkevat suorat. Suora voidaan määrittää käyttämällä nollasta poikkeavaa pistettä seuraavasti: tämän suoran mille tahansa pisteelle ⇔ ∃ c ≠ 0, jolloin x' = c x , y' = c y ja z' = c z . Tämän ekvivalenssisuhteen mukaan avaruutta kutsutaan projektiivitasoksi . Tason pisteet vastaavat kolmiulotteisen avaruuden viivoja, jotka kulkevat arvon 0 kautta. Huomaa, että pistettä ei ole tässä avaruudessa, koska se ei määrittele arvon 0 kautta kulkevaa suoraa. Lenstran algoritmi ei vaadi kentän ℝ käyttöä , äärellinen kenttä tarjoaa myös ryhmän rakenteen elliptisen käyrän yli. Sama käyrä, mutta operaatioilla , ei kuitenkaan muodosta ryhmää, jos se ei ole alkuluku. Elliptisiä käyriä käyttävä tekijälaskentamenetelmä käyttää summauslain ominaisuuksia tapauksissa, joissa se  ei ole yksinkertainen.

Faktorisointialgoritmi projektitiivisissa koordinaateissa [14] :. Neutraali elementti annetaan tässä tapauksessa äärettömyyden pisteellä . Olkoon n  kokonaisluku ja positiivinen luku, elliptinen käyrä .

  1. Valittu ( a ≠ 0).
  2. Laskettu . Elliptinen käyrä E on annettu muodossa (Weierstrassin muoto). Projektiivisten koordinaattien avulla elliptinen käyrä voidaan kirjoittaa homogeeniseksi yhtälöksi . sijaitsee tällä käyrällä.
  3. Yläraja on valittu . Huomaa: tekijöitä voi olla vain, jos ryhmän E järjestys on B  - tasainen luku. Tämä tarkoittaa, että kaikkien alkutekijöiden E over on oltava pienempiä tai yhtä suuria kuin B .
  4. NOC lasketaan .
  5. Laskettu kehässä . On tärkeää huomata, että jos | | - B-smooth , ja n  on yksinkertainen (tässä tapauksessa  kenttä), sitten . Kuitenkin, jos | | - B-tasainen jollekin luvulle p , joka on n: n jakaja , tulos ei välttämättä ole (0:1:0), koska yhteen- ja kertolasku ei välttämättä toimi yhtä hyvin, jos n ei ole alkuluku. Siten on mahdollista löytää n:n ei-triviaali jakaja .
  6. Jos jakajaa ei löydy, algoritmi toistetaan vaiheesta 2 alkaen.

Kohdassa 5 laskeminen ei ehkä ole mahdollista, koska kahden pisteen lisääminen elliptiselle käyrälle vaatii laskennan , mikä ei aina ole mahdollista, jos n ei ole alkuluku. On mahdollista laskea kahden pisteen summa seuraavalla tavalla, joka ei vaadi n : n primenessia (ei vaadi sen olevan kenttä):

Edwardsin käyrien käyttäminen

Edwards-käyrien käyttö mahdollistaa [15] vähentää modulaaristen operaatioiden määrää ja lyhentää algoritmin suoritusaikaa verrattuna elliptisiin käyriin Weierstrass-muodossa ( ) ja Montgomeryn muodossa ( ).

Määritelmä: Antaa olla  kenttä, jonka ominaisuus ei ole luku , Ja anna . Sitten Edwardsin käyrä määritellään seuraavasti: On viisi tapaa muodostaa joukko pisteitä Edwardsin käyrään: joukko affiineja , joukko projektiopisteitä , joukko käänteisiä pisteitä , joukko laajennettuja pisteitä ja joukko suoritetut pisteet . ). Esimerkiksi affiinipisteiden joukko annetaan seuraavasti: .    

Yhteenlaskuoperaatio: Yhteenlaskulaki annetaan kaavalla .

Piste (0,1) on neutraali elementti ja pisteen käänteisarvo on .

Muita muotoja saadaan samalla tavalla kuin projektiivinen Weierstrass-käyrä saadaan affiinikäyrästä.

Yhteenlaskuesimerkki: Voit havainnollistaa summauslakia käyttämällä esimerkkiä elliptisestä käyrästä Edwards-muodossa, jossa d =2: , ja siinä on pisteitä. Ehdotetaan tarkistettavaksi, että P 1 :n summa neutraalielementillä (0,1) on yhtä suuri kuin P 1 . Todella:

Jokaisella Edwards-muodon elliptisellä käyrällä on järjestyspiste 4. Siksi Edwards-käyrän jaksollinen ryhmä on isomorfinen tai .

Lenstra-algoritmia käyttävien tekijöiden jakamisen kannalta mielenkiintoisimmat [16] tapaukset ovat ja .

Esimerkki käyrästä, joka sisältää jaksollisen ryhmän , joka on isomorfinen :

pisteen ollessa yksikköympyrässä , jonka keskipiste on piste (0,-1).

Katso myös

Muistiinpanot

  1. 1 2 Bressoud, 2000 , s. 331.
  2. Parker, 2014 .
  3. Bressoud, 2000 .
  4. Brent, 1998 .
  5. ECM:n löytämät 50 suurinta jakajaa . Käyttöpäivä: 27. marraskuuta 2016. Arkistoitu alkuperäisestä 20. helmikuuta 2009.
  6. Lenstra, 1987 , s. 16-20.
  7. 12 Lenstra , 1987 .
  8. Lenstra, Number-Theoretic Algorithms, 1986 , s. 16.
  9. Canfield, 1983 .
  10. Johdatus kryptografiaan koodausteorialla, 2006 .
  11. Vasilenko, 2006 , s. 109.
  12. Lenstra, Number-Theoretic Algorithms, 1986 , s. 331.
  13. Brent, 1998 , s. 12.
  14. Vasilenko, 2006 , s. 112.
  15. ECM käyttäen Edwardsin käyriä, 2013 , s. 2-3.
  16. ECM käyttäen Edwardsin käyriä, 2013 , s. 19.

Kirjallisuus

Linkit