A Schuf -algoritmus egy hatékony algoritmus [1] egy véges mező feletti elliptikus görbén lévő pontok számának megszámlálására . Az algoritmusnak vannak alkalmazásai az elliptikus kriptográfiában , ahol fontos tudni a pontok számát, hogy megítélhessük egy diszkrét logaritmus probléma megoldásának nehézségét egy elliptikus görbe pontcsoportján .
Az algoritmust 1985-ben publikálta René Chouf , és ez elméleti áttörést jelentett, mivel ez volt az első determinisztikus polinomiális időalgoritmus az elliptikus görbén lévő pontok számlálására . A Schuf-algoritmus előtt az elliptikus görbék pontjainak megszámlálásának megközelítései, mint például a kis és nagy lépések egyszerű algoritmusa , többnyire munkaigényesek voltak, és exponenciális futási időt igényeltek.
Ez a cikk elmagyarázza Schuf megközelítését, az algoritmus mögött meghúzódó matematikai ötletekre összpontosítva.
Legyen egy véges mező felett meghatározott elliptikus görbe , ahol prím és egész szám . Egy karakterisztikus mező felett egy elliptikus görbe adható meg (röviden) a Weierstrass-egyenlettel
-val . A pontok halmaza a görbe és a végtelenben lévő pont egyenletét kielégítő megoldásokból áll . Ha a csoporttörvényt használjuk az elliptikus görbékre ezen a halmazon, akkor láthatjuk, hogy ez a halmaz egy Abel-csoportot alkot , amelyben nulla elemként működik. Az elliptikus görbe pontjainak megszámlálásához kiszámoljuk a halmaz számosságát . A Schuf-megközelítés Hasse-féle elliptikus görbe tételét , valamint a kínai maradéktételt és az osztáspolinomokat használja a kardinalitás kiszámításához .
Hasse tétele kimondja, hogy ha egy elliptikus görbe egy véges mező felett, akkor teljesül az egyenlőtlenség
Ez az erős eredmény, amelyet Hasse 1934-ben ért el, leegyszerűsíti a feladatunkat azáltal , hogy a lehetőségek véges (bár nagy) halmazára leszűkíti. Ha meghatározzuk , hogyan és ezt az eredményt használjuk, akkor azt kapjuk, hogy a modulo teljesítmény kiszámítása , ahol , elegendő a kiszámításához , és így megkapjuk . Bár nincs hatékony módszer az általános számok közvetlen kiszámítására , egy kis prímszámra meglehetősen hatékonyan lehet számítani. Különböző prímszámok halmazaként választunk úgy, hogy . Ha mindenre adott , a kínai maradéktétel lehetővé teszi a számítást .
A prím kiszámításához a Frobenius endomorfizmus elméletét és az osztáspolinomokat használjuk . Megjegyzendő, hogy a prímszámok figyelembevétele nem okoz problémát, hiszen mindig választhatunk nagyobb prímszámot, hogy a szorzat elég nagy legyen. Mindenesetre a Schuf algoritmust használják leggyakrabban az esetre , mivel vannak hatékonyabb, úgynevezett -adic algoritmusok a kis karakterisztikájú mezőkre.
Ha adott egy felett definiált elliptikus görbe , akkor a feletti pontokat tekintjük a mező algebrai lezárásának . Vagyis megengedjük, hogy a pontok koordinátái legyenek -ben . A Frobenius-endomorfizmus egy elliptikus görbét kiterjeszt egy leképezéssel .
Ez a térkép megegyezik a ponttal, és egy ponttal a végtelenig kiterjeszthető , így csoportmorfizmussá válik önmagától .
A Frobenius-endomorfizmus a következő tétellel teljesíti a hatványra vonatkozó másodfokú egyenletet :
Tétel: A leképezés által adott Frobenius endomorfizmus kielégíti a karakterisztikus egyenletet
, aholEkkor mindenre , ahol a + egy elliptikus görbe összeadását jelenti, és a és egy -on lévő pont és egy pont skaláris szorzatát jelenti [2] .
Megpróbálhatja ezeket a pontokat szimbolikus formában és a görbén lévő koordinátagyűrű függvényeiként kiszámítani , majd keresni egy értéket , amely kielégíti az egyenletet. A fokozatok azonban nagyon nagynak bizonyulnak, és ennek a megközelítésnek nincs gyakorlati értéke.
Schuf ötlete az volt, hogy ilyen számításokat hajtson végre, korlátozva magát a különböző kis prímszámok pontjaira . Egy páratlan prímszám rögzítése után továbblépünk annak a feladatnak a megoldásához , hogy egy adott prímhez definiáljuk a -t . Ha a pont a -torziós alcsoportban van , akkor , ahol az egyetlen olyan egész szám, amelyre és . Jegyezzük meg ezt és azt minden olyan egész számra , amelyre . Így a sorrendje megegyezik a . Ekkor a -hoz tartozó -hoz van még if . Következésképpen a problémánkat az egyenlet megoldására redukáltuk
hol és fekszik az intervallumban .
Az l indexű osztáspolinom olyan polinom, amelynek gyökei pontosan az l rendű pontok x koordinátái. Ekkor a számításnakaz l -torziós pontokra való korlátozása ezeknek a kifejezéseknek az E koordinátagyűrű és az l -edik osztású polinom modulusának függvényében történő kiszámítását jelenti. Vagyis ben dolgozunk. Ez különösen azt jelenti, hogy az X és Y mértékenem haladja meg az 1-et az y változóhoz ésaz x változóhoz képest .
A pontszorzat elkészíthető a dupla-összeadás módszerrel , vagy a th osztásos polinommal. A második megközelítés a következőket adja:
,ahol az n- edik osztású polinom. Vegye figyelembe, hogy ez csak x függvénye, jelöljük ezt a függvényt -vel .
A problémát két esetre kell felosztanunk: arra az esetre, amelyben , és arra az esetre, amelyben .
A csoport összeadási képletével a következőt kapjuk:
Megjegyzendő, hogy ez a számítás lehetetlen, ha az egyenlőtlenség feltételezése meghiúsul.
Az x -koordináta választását most két lehetőségre szűkíthetjük, nevezetesen a pozitív és a negatív esetekre. Az y koordináta segítségével meghatározzuk, hogy a két eset közül melyik történik.
Először megmutatjuk, hogy X csak x függvénye . Fontolja meg . Mivel páros, a -re cserélve a kifejezést átírjuk így
és van
Nos, ha -ra , akkor az egyenlőség erre igaz
a P l -torzió minden pontjára.
Ahogy korábban említettük, az Y és a segítségével most már meghatározhatjuk, hogy a két érték ( vagy ) közül melyik működik. Értelmet ad . A Schoof-algoritmus megjegyzi a változó értékeit minden egyes figyelembe vett l prímhez .
Tegyük fel, hogy . Mivel l páratlan prímszám, lehetetlen , és ezért . A karakterisztikus egyenletből az következik, hogy , tehát az . Ebből következik, hogy q négyzetmodulo l . Hadd . Számítsa ki és ellenőrizze, hogy . Ha igen, akkor az y koordinátától függően.
Ha q nem négyzetmodulo l , vagy ha az egyenlőség meghiúsul valamilyen w és esetén, akkor a feltevésünk hibás, tehát . A karakterisztikus egyenlet ad .
Ne feledje, eredeti megállapodásaink nem veszik figyelembe az esetet . Mivel feltételeztük, hogy q páratlan, és különösen akkor és csak akkor, ha van 2. rendű eleme. Az összeadás definíciója szerint egy csoportban minden 2. rendű elemnek formájúnak kell lennie . Így akkor és csak akkor, ha a polinomnak van gyöke -ben , akkor és csak akkor, ha gcd .
A legtöbb számítás magában foglalja a kiszámítását és minden prímszámhoz , azaz , , , minden prímszámhoz való kiszámítását . A számítások hatványozást tartalmaznak a gyűrűben , és szorzást igényelnek . Mivel a fokszám , a gyűrű minden eleme fokszámú polinom . A prímszámtétel szerint körülbelül méretű prímek vannak , ami megadja a -t , és megkapjuk . Így a gyűrűben minden szorzáshoz szorzásra van szükség -ben , ami viszont bitenkénti műveleteket igényel. Összességében az egyes prímszámokhoz tartozó bitműveletek száma . Feltételezve, hogy ezt a számítást minden prímre el kell végezni , a Schuf-algoritmus teljes összetettsége . A gyors polinomiális műveletek és az egész számok használata ezt az időt csökkenti .
Az 1990-es években Noam Elkis , majd A. O. L. Atkin az alapvető Schuf-algoritmus továbbfejlesztésével állt elő azáltal, hogy a prímszámokat bizonyos típusú számokra korlátozta. Ezek a számok Elkis-prímként, illetve Atkin-prímként váltak ismertté. Egy prímszámot Elkis-prímnek nevezünk, ha a karakterisztikus egyenlőség felbontható felett , és az Atkin-prímek olyan prímek, amelyek nem Elkis-prímek. Atkin megmutatta, hogyan lehet kombinálni az Atkin-prímekből nyert információkat az Elkis-prímekből nyert információkkal, hogy hatékony algoritmust kapjunk, amelyet " Schoof-Elkis-Atkin Algoritmusnak neveztek . Az első feladat annak meghatározása, hogy egy adott prím Elkis- vagy Atkin-prím-e. Ennek eléréséhez moduláris polinomokat használunk, amelyek a moduláris formák tanulmányozása során keletkeznek, és a komplex számok mezője feletti elliptikus görbéket rácsként értelmezzük . Miután meghatároztuk, hogy melyik eset áll rendelkezésünkre, az osztási polinomok helyett dolgozhatunk olyan polinomokkal, amelyeknek alacsonyabb fokuk van, mint az osztási polinomoknak: helyett . A hatékony megvalósítás érdekében valószínűségi gyökérkereső algoritmusokat használnak, amelyek az algoritmust Las Vegas -i algoritmussá teszik determinisztikus algoritmus helyett. Abban a heurisztikus feltevésben, hogy a kisebb vagy egyenlő prímek körülbelül fele Elkis-prím, ez egy olyan algoritmust eredményez, amely hatékonyabb, mint a Schoof-féle algoritmus, és ennek az algoritmusnak a várható futási ideje közönséges aritmetika esetén , és . gyors aritmetika. Meg kell jegyezni, hogy ez a heurisztikus feltevés igaz a legtöbb elliptikus görbére, de általános esetben nem ismert, még akkor sem, ha az általánosított Riemann-hipotézis igaz .
Az algoritmusok egy részét Mike Scott C++ nyelven implementálta, és forráskódban is elérhetők . A megvalósítás teljesen ingyenes (feltételek, korlátozások nélkül), de a MIRACL könyvtárat használja , amely az AGPLv3 licenc alatt kerül terjesztésre .
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 |