RSA šifriranje

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje

Po drugi svetovni vojni se je razvilo šifriranje sporočila z računalnikom, ki je imelo v primerjavi z mehaničnim načinom šifriranja vsaj tri velike prednosti. Prva razlika je, da je mehanični šifrirni stroj omejen s tehnično-konstrukcijskimi možnostmi, medtem ko računalnik lahko posnema hipotetični šifrirni stroj ogromnih kompleksnosti. Druga razlika je hitrost, saj deluje elektrika veliko hitreje od mehaničnih valjev. Tretja in morda najpomembnejša razlika pa je v tem, da računalnik obdeluje številke in ne črke abecede. Računalniki delajo samo z binarnimi števili, torej nizi iz enic in ničel. Zato je treba vsako sporočilo pred šifriranjem spremeniti v binarna števila. Za to obstajajo različne norme, na primer ASCII (American Standard Code for Information Interchange), ki dodeli vsaki črki abecede sedemmestno število. Obstaja 128 (27) možnosti za razvrstitev ničel in enic na sedmih mestih, zato ASCII lahko dodeli največ 128 znakov posameznemu binarnemu sistemu.

DES

Prvi sprejeti šifrirni standard je bil ameriški DES (Data Encryption Standard) in sicer 56 bitna verzija (število ključev je omejeno na 100 000 000 000 000 000, v strokovnem jeziku 56 bitov, ker to število, binarno predstavljeno, sestoji iz 56 ničel in enic). Ta oblika je, sicer nekoliko spremenjena (trojni DES), še vedno uradni ameriški šifrirni standard. Ostaja pa še problem razdeljevanja ključev. Eden najbolj angažiranih kriptografov svoje generacije je Whitfield Diffie (na sliki). Leta 1976 je razvil nov šifrirni postopek, ki dela s tako imenovanim asimetričnim ključem. Vse do zdaj predstavljene šifrirne tehnike so simetrične, kar pomeni, da je šifriranje preprosto obrnjen postopek šifriranja. Enigma, na primer, uporablja določen ključ za šifriranje sporočila, prejemnik pa na identičnem stroju nastavi isti ključ, da ga dešifrira. Pri asimetričnem sistemu ključev pa ključ za šifriranje in ključ za dešifriranje nista identična. Pošiljatelj sporočila si tako izbere svoj par ključev. Ključ za dešifriranje obdrži v tajnosti, zaradi česar ga imenujemo zasebni ključ. Svoj ključ za šifriranje pa objavi in ga da vsem na voljo, zaradi česar ga imenujemo javni ključ. Asimetrično šifriranje dokončno odpravlja vprašanje razdeljevanja in izmenjave ključev. Četudi vsi poznajo pošiljateljev javni ključ, ne more nihče sporočila dešifrirati, saj javni ključ za to ni pravi.

RSA

Najelegantnejša in najvplivnejša uresničitev tega koncepta je RSA, algoritem, ki dobiva ime po izumiteljih Rivestu, Shamirju in Adlemanu (na sliki). Asimetrično RSA-šifriranje temelji na predpostavki, da je dve veliki praštevili (na primer p=17.159 in q=10.247) zelo enostavno pomnožiti, praktično nemogoče pa iz rezultata (N=175.828.273), ki velja za javni ključ, dobiti p in q, ki veljata za zasebni ključ. Samo pošiljatelj ima na tak način na razpolago tisti posebni podatek, ki je potreben za dešifriranje sporočila, saj se na primer za pomembne bančne transakcije uporablja N z vrednostjo najmanj 10308. Edini varnostni pomislek pri metodi RSA z javnim ključem je ta, da bi nekoč v prihodnosti lahko našli hitrejšo pot za razstavljanje N na prafaktorje.