Az elliptikus görbékkel történő faktorizálás ( angol elliptikus görbe faktorizációs módszer , rövidítés ECM ) vagy a Lenstra -féle elliptikus görbék faktorizálási módszere ( angol Lenstra elliptic curve factorization ) egy természetes szám elliptikus görbék segítségével történő faktorálási algoritmusa . Ez az algoritmus szubexponenciális bonyolultságú [1] . Az ECM a harmadik leggyorsabban futó [2] az általános számmezőszita módszer és a kvadratikus szita módszer után .
A gyakorlatban ez a legalkalmasabb egy szám kis prímosztóinak megtalálására, ezért rendkívül speciális [3] algoritmusnak tekintik.
Ez a legjobb algoritmus [4] 20-25 karakter hosszúságú (64…83 bites) prímosztók keresésére, mivel bonyolultsága elsősorban a legkisebb p prímosztótól függ , és nem a faktorizált számtól.
Gyakran használják egy szám kis prímosztóinak azonosítására (eldobására). Ha az algoritmus működése után kapott szám továbbra is összetett, akkor a fennmaradó tényezők nagy számok, és a további bővítéshez célszerű általánosabb faktorizációs algoritmusokat alkalmazni.
Az ezzel az algoritmussal talált legnagyobb osztó 83 karakter hosszú, és Ryan Propper találta meg 2013. szeptember 7-én [5] .
Természetes szám faktorizációs algoritmusa (nem triviális osztó keresése) [6] :
Az n számra felvett egyenlet egy elliptikus görbét határoz meg . Ha a p és q számok az n szám két prímosztói , akkor a fenti egyenlet akkor is igaz, ha modulo p vagy modulo q felvesszük . Azaz : és : két elliptikus görbét határoz meg (kisebb, mint ). Azonban még egy adott összeadási művelet mellett is nemcsak elliptikus görbék, hanem csoportok is . Legyen bennük N p és N q elem, akkor ha:
Akkor Lagrange tétele szerint igaz, hogy
Hasonló állítás igaz a modulo q görbére is .
A Z p feletti elliptikus görbén fekvő pontok csoportjának sorrendjét a Hasse-tétel határolja : p + 1 − 2 √ p p + 1 + 2 √ p
Véletlenszerűen választott elliptikus görbe esetén az N p és N q rendek a Hasse-tétel által határolt véletlen számok (lásd alább). Nem valószínű, hogy N p és N q prímosztóinak többsége megegyezik, és valószínű, hogy az eP kiszámításakor néhány modulo p , de nem mod q fog találkozni , vagy fordítva. Ha ez a helyzet, akkor kP nem létezik az eredeti görbén, és a számításokban olyan v -t találtunk, hogy vagy gcd( v , p ) = p vagy gcd( v , q ) = q , de mindkettő nem. Ekkor gcd( v , n ) n nem triviális osztója .
Az ECM a régebbi Pollard-féle P-1 módszer finomítása [7] . A p - 1 algoritmus megtalálja p prímosztóit úgy, hogy ( p - 1) B -sima valamilyen kis B esetén . Bármely e -re, amelyik többszöröse ( p − 1) , és bármely a -ra , amely p - hez viszonylag prím , a Fermat-tétel szerint a e ≡ 1 (mod p ) . Ekkor gcd ( a e − 1, n ) nagy valószínűséggel osztója lesz n -nek . A p − 1 algoritmus azonban meghiúsul [7] , ha p -nek nagy prímosztói vannak. Az ECM ebben az esetben helyesen működik, mert ahelyett, hogy a Z p feletti multiplikatív csoportot vesszük figyelembe , amelynek sorrendje mindig p − 1 , egy Z p véges mező feletti véletlenszerű elliptikus görbe csoportját tekintjük .
A Z p feletti elliptikus görbén fekvő pontcsoportok sorrendjét a Hasse-tétel határolja : p + 1 − 2 √ p p + 1 + 2 √ p . Fontosnak tűnik megvizsgálni [8] , hogy mekkora a valószínűsége annak, hogy ebben az intervallumban sima szám található (ebben az esetben vannak görbék, amelyek sorrendje sima szám). Nincs bizonyíték arra, hogy a Hasse-intervallumban mindig van valamilyen sima szám, de heurisztikus valószínűségi módszerekkel, a Canfield –Erdős–Pomerance-tétellel [ 9] és az L-jelöléssel azt a becslést kapjuk, hogy elegendő L -t venni [ √ 2 /2, √ 2 ] görbék, amíg sima csoportsorrendet nem kapunk. Ez a heurisztikus becslés jól alkalmazható a gyakorlatban.
Az n = 455839 szám faktorizálása [10] .
Egy elliptikus görbe és egy ezen a görbén fekvő pont kerül kiválasztásra
10-et szekvenciálisan számítanak ki! P :
1. A pontkoordináták kiszámítása .
2. Számított .
3. Hasonlóképpen kiszámíthatja a , , és így tovább. A 640 P kiszámításakor észreveheti, hogy az inverz elemet 599-re (mod 455839) kell kiszámítani. Mivel a 455839 osztható 599-cel, a szükséges bontás megtalálható: 455839 = 599 761.
Legyen n legkisebb osztója p . Ekkor a végrehajtott aritmetikai műveletek száma a [11] : értékkel becsülhető (vagy L-jelölésben ) . Ha p - t helyettesítjük -re, akkor szubexponenciális komplexitásbecslést kapunk: .
Ha összehasonlítjuk az elliptikus görbék módszerét más faktorizációs módszerekkel, akkor ez a módszer a szubexponenciális [1] faktorizációs módszerek osztályába tartozik , ezért gyorsabban működik, mint bármely exponenciális módszer. Ha összehasonlítjuk a kvadratikus szita módszerrel (QS) és a számmező szita módszerrel (NFS) , akkor mindez az n legkisebb osztójának méretétől függ [12] . Ha az n számot, mint az RSA -ban, két, megközelítőleg azonos hosszúságú prímszám szorzataként választjuk, akkor az elliptikus görbe módszere ugyanolyan becsléssel rendelkezik, mint a másodfokú szita módszer, de rosszabb, mint a számmező szita módszer [13 ] .
Mielőtt a projektív síkot a felettinek tekintenénk, érdemes figyelembe venni a szokásos projektív síkot ℝ felett: pontok helyett a 0-n átmenő egyeneseket vesszük figyelembe. Egy egyenest nullától eltérő pont használatával a következőképpen definiálhatunk: ennek az egyenesnek bármely pontjára ⇔ ∃ c ≠ 0, úgy, hogy x' = c x , y' = c y és z' = c z . Ennek az ekvivalenciarelációnak megfelelően a teret projektív síknak nevezzük . A sík pontjai a 0-n átmenő háromdimenziós tér egyeneseinek felelnek meg . Vegye figyelembe, hogy a pont nem létezik ebben a térben, mivel nem definiál 0-n átmenő egyenest. A Lenstra-algoritmus nem igényli a ℝ mező használatát. , a véges mező a csoport szerkezetét is megadja az elliptikus görbe felett. Ugyanez a görbe azonban a következő műveletekkel nem alkot csoportot, ha nem prímszám. Az elliptikus görbéket alkalmazó faktorizációs módszer az összeadás törvényének jellemzőit használja olyan esetekben, amikor nem egyszerű.
Faktorizációs algoritmus projektív koordinátákban [14] :. A semleges elemet ebben az esetben a végtelenben lévő pont adja . Legyen n egész és pozitív szám, elliptikus görbe .
Az 5. pontban előfordulhat, hogy a számítás nem lehetséges, mivel egy elliptikus görbe két pontjának összeadásához ki kell számítani , ami nem mindig lehetséges, ha n nem prímszám. Két pont összegét a következő módon lehet kiszámítani, amihez nem szükséges n elsősége (nem kell, hogy mező legyen):
Az Edwards-görbék használata lehetővé teszi [15] számára, hogy csökkentse a moduláris műveletek számát, és csökkentse az algoritmus végrehajtási idejét a Weierstrass ( ) és a Montgomery ( ) alakú elliptikus görbékhez képest .
Definíció: Legyen olyan mező, amelynek jellemzője nem szám , és legyen . Ekkor az Edwards-görbe a következőképpen definiálható. Ötféle módon lehet pontkészletet létrehozni egy Edwards-görbén: affin pontok halmaza, projektív pontok halmaza, fordított pontok halmaza , kiterjesztett pontok halmaza és egy halmaz teljesített pontok . ). Például az affin pontok halmaza így van megadva: .
Összeadás művelet: Az összeadás törvényét a képlet adja meg .
A (0,1) pont a semleges elem, a pont inverze pedig .
Más formákat hasonló módon kapunk, mint ahogyan egy projektív Weierstrass-görbét kapunk egy affin görbéből.
Összeadási példa: Az összeadási törvényt demonstrálhatja egy Edwards alakú elliptikus görbe példájával, ahol d =2: , és pontok vannak rajta. Javasoljuk annak ellenőrzését, hogy P 1 összege a semleges elemmel (0,1) egyenlő-e P 1 -gyel . Igazán:
Az Edwards-alakú minden elliptikus görbének van egy 4-es sorrendje. Ezért az Edwards-görbe feletti periodikus csoport izomorf -val vagy -vel .
A Lenstra algoritmussal végzett faktorizálásnál a legérdekesebb [16] eset a és .
Példa egy olyan görbére, amely a következővel izomorf periodikus csoportot tartalmaz :
az egységkörön fekvő ponttal , amelynek középpontja a (0,-1) pontban van.
Számelméleti algoritmusok | |
---|---|
Egyszerűség tesztek | |
Prímszámok keresése | |
Faktorizáció | |
Diszkrét logaritmus | |
GCD keresése | |
Modulo aritmetika | |
Számok szorzása és osztása | |
A négyzetgyök kiszámítása |