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] .
Luonnollisen luvun faktorointialgoritmi (ei-triviaalin jakajan löytäminen) [6] :
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:
Sitten Lagrangen lauseen mukaan se on totta
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ä.
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 .
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.
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 ] .
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ä .
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ä):
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).
Lukuteoreettiset algoritmit | |
---|---|
Yksinkertaisuustestit | |
Alkulukujen löytäminen | |
Faktorisointi | |
Diskreetti logaritmi | |
GCD:n löytäminen |
|
Modulo-aritmetiikka | |
Lukujen kerto- ja jakolasku | |
Neliöjuuren laskeminen |