| Uporaba kriptografije v internetu |
Ali je razstavljanje velikega števila težje od iskanja velikega praštevila?V teoriji računske zahtevnosti algoritmov se problemi uvrščajo v različne težavnostne razrede glede na to, koliko resursov je potrebnih za rešitev (n.pr. časa reševanja, korakov v algoritmu, velikosti spomina računalnika itd.). Najlažji problemi so tisti, za katere obstaja algoritem, s katerim pridemo do rešitve v času, ki je omejen z neko fiksno potenco dolžine vhoda (s polinomom) - ti spadajo v razred P (polynomial time class).
Naslednji razred je NP (nondeterministic polynomial time class). Za te probleme se da v času, omejenem s polinomom, preveriti, ali je neka rešitev pravilna, medtem ko se časa, potrebnega za rešitev, ne da omejiti s polinomom.
Verjamemo, da sta razreda P in NP različna, ni pa dokazano. Pravzaprav je za dokaz tega razpisana nagrada v višini milijon dolarjev. Predpostavki pri RSA sta, da spada razstavljanje velikega števila v razred NP, iskanje velikega praštevila pa v razred P.
Kako najdemo veliko praštevilo?V zadnjih 30 letih so predstavili več postopkov, ki temeljijo na "malem Fermat-ovem izreku":
ap-1 - 1 0 (mod p)
Če enačba velja za vsa števila a (a < p), je izpolnjen potreben pogoj za to, da je število p praštevilo, žal pa ni zadosten. Obstajajo namreč števila, ki pogoj izpolnjujejo, pa niso praštevila (Carmichaelova števila, n.pr. 561).
Število, ki naj bi bilo praštevilo, mora biti liho, in ga lahko zapišemo v obliki
Iz tega se da izpeljati sklep, da je p praštevilo z veliko verjetnostjo glede na osnovo a, če velja
1 (mod p)
ali ad.2r -1 (mod p),
kjer je r večji ali enak 0 in manjši od s (test Rabin - Miller).
Če število ne ustreza testu, je gotovo sestavljeno, v nasprotnem primeru pa je verjetnost napake 1/4t, kjer t pomeni število ponovitev testa za različne osnove. Število, ki ustreza testu za 6 osnov, bi torej z verjetnostjo 1/46 = 0,00024 bilo sestavljeno število. Napaka se manjša z večanjem števila p. Pri 256-bitnem številu p ocenjujejo verjetnost napake na 1/251 pri 6 testih. Za običajno uporabo je taka možnost napake sprejemljiva. V praksi je postopek takle:
Več o iskanju praštevil: Distinguishing prime numbers from composite numbers Oktober 2002 |