Za efikasnost ove metode u grupi * presudna su svojstva distribucije prostih brojeva, ponajprije činjenica da ih ima beskonačno mnogo. Preciznije, broj prostih brojeva koji su manji od realnog broja x asimptotski je jednak x / ln x. Činjenica da je vrlo teško naći eliptičku krivulju velikog ranga, najvažniji je ograničavajući faktor za primjenu ove metode na grupe eliptičkih krivulja nad konačnim poljem. Ovo je upravo i predstavljalo motivaciju za uvođenje eliptičkih krivulja u kriptografiju.
Opisat ćemo sada algoritam koji za cikličku grupu G reda n s generatorom g, računa diskretni logaritam logg h proizvoljnog elementa h grupe G.
Algoritam index calculus:
1. Izbor faktorske baze
2. Linearne relacije u logaritmima gk = pi c, ci 0. Ukoliko smo u tome uspjeli, logaritmiramo dobivenu relaciju, te tako prikažemo k mod n kao linearnu kombinaciju logaritama:
k
ci logg pi
(mod n).
3. Rješavanje sustava:
4. Računanje x = logg h: h gk = pi d, di 0. Ukoliko nismo u tome uspjeli, onda izaberemo novi k, a ukoliko smo uspjeli, onda logaritmiramo dobivenu relaciju, te tako dobijemo da jex = logg h = ( di logg pi - k ) (mod n). |
U primjeni index calculus metode na grupu
*,
koja je ciklička grupa reda n = p - 1,
za faktorsku bazu F uzimamo prvih m prostih brojeva.
Potom pokušavamo brojeve oblika r =
gk prikazati kao produkt prvih
m prostih brojeva. Jasno je da što veći m izaberemo,
to su veća vjerojatnost da će se r moći rastaviti
kao produkt prvih m prostih brojeva. S druge strane,
veći m znači će rješavanje sustava u 3. koraku algoritma
biti teže. Pokazuje se da je optimalan izbor ako odaberemo
da je najveći element faktorske baze pm
približno jednak
L(p) = exp( (ln p ln ln p) ).
Na taj način, algoritam index calculus postaje subeksponencijalni algoritam za računanje diskretnog logaritma u grupi *.
Web stranica seminara | Andrej Dujella - osobna stranica |