KLJUCI

Kljucev mora biti toliko, da vsiljivec ne more uporabiti pristopa grobe sile, tako da zaporedoma preizkuša vse mocne kljuce, dokler ne najdemo pravega. Vsi kljuci morajo biti enako verjetni, saj bi bil drugace napad z grobo silo prelahek, ker bi napadalec lahko preizkušal najprej verjetnejše kljuce. Kljuci morajo biti potemtakem iz mnozice vseh moznih kljucev izbrani nakljucno, kar zagotavlja enako moznost izbire vsem kljucem pri vsaki izbiri. Problem nakljucnosti v racunalništvu je tezji. Najveckrat z racunalniki skoraj ne moremo zagotoviti prave nakljucnosti, saj je pravzaprav vse dogajanje vnaprej programirano. Obicajno imamo opravka s psevdo-nakljucnostjo, ki jo zagotavljajo primerni algoritmi. Dobri psevdo-nakljucni algoritmi sicer zagotavljajo dokaj pravilne verjetnostne porazdelitve, ne zagotavljajo pa nakljucnosti pri vsaki posamezni izbiri. Vecina algoritmov za racunanje psevdo-nakljucnih števil namrec temelji na svojem notranjem stanju, ki je posledica prejšnjega izracuna. To pomeni, da je izracun psevdo-nakljucnega števila odvisen od njegovega predhodnika, torej bi izbiro kljuca na tak nacin lahko predvideli, ce bi poznali prejšnje izbire. Ko psevdo-nakljucen algoritem pretece vsa svoja notranja stanja, res lahko zagotavlja enako moznost vsem svojim izhodom, vendar natanko v takšnem vrstnem redu, kot ga doloca zacetno stanje. Ce smo dovolj spretni in poznamo dovolj zaporednih kljucev, lahko vse naslednje kljuce uganemo. Znani so celo algoritmi, ki poskušajo iz izbranega zaporedja uganiti psevdo-nakljucni generator, ki ga je ustvaril. Psevdo-nakljucnih števil skratka ne moremo uporabiti za izdelovanje šifriranih kljucev. Dobro izbiro kljucev zagotavljamo z nakljucnim procesom, katerega izidi so neodvisni drug od drugega, kot je na primer metanje "pravicne"kocke. Ce je taka metoda prepocasna, ker potrebujemo prevec izidov, lahko uporabimo posebno racunalniško strojno opremo - strojni nakljucni generator. Ker je tako opremo tezko dobiti, pa še poceni ni, se moramo vsemu navkljub vcasih oprijeti nekaterih preizkušenih programskih rešitev. Taka rešitev je lahko standard ANSIX9.17, ki je v bistvu psevdo-nakljucni generator, a uporablja kot parameter tudi cas, naslednji izhod pa izracuna iz notranjega stanja z dobrim šifrirnim algoritmom. Na ta nacin poskuša zagotoviti nepredvidljivost zaporedja izhodov.

Simetricni kljuci

Simetricni kljuci se lahko razbijajo samo z grobo silo, to je s preizkušanjem vseh moznih kljucev. To pomeni, da vsaj trenutno niso znane druge metode, res pa je, da jih teoretiki - kriptologi tudi ne napovedujejo. Najbolj razširjeni simetricni algoritmi kot so DES, 3DES, IDEA ali Blowfish, so ze tolikaj preizkušeni (in bili tolikokrat napadani), da lahko verjamemo, da ni druge poti za razbijanje algoritma kot uporaba grobe sile. Varnost kriptograma je zato v celoti odvisna od dolzine kljuca. 40-bitne kljuce kot jih uporabljajo za protokol SSL evropske razlicice spletnih brkljalnikov (ameriška vlada namrec prepoveduje izvoz mocnejših kriptografskih tehnik) danes razbije ze malo mocnejši osebni racunalnik (na primer Pentium 200) v nekaj urah. Tudi 56-bitni kljuc, ki je osnova algoritma DES (Data Encryption Standatd) in ki je bil dolga leta uradni kriptografski algoritem ameriške vlade, se da danes razbiti s pomocjo superracunalnika v nekaj urah. Ameriška agencija za nacionalno varnost (NSA) ima zagotovo na razpolago dovolj mocne racunalnike, da razbijejo tudi 64-, mogoce celo 72-bitni kljuc. Algoritem IDEA (International Data Encryption Algorithm), ki uporablja 128-bitni kljuc, ali recimo algoritem 3DES (modifikacija DES-a s trikratno dolzino kljuca) pa sta izven dosega današnjih, zelo verjetno pa tudi prihodnjih racunalnikov. Paranoiki lahko uporabijo 256-bitni kljuc (na primer pri algoritmu BlowFish), ki se ga ne bo dalo nikoli razbiti, saj v vsem vesolju za razbitje takega kljuca ni niti dovolj materije, niti dovolj energije, da o casu niti ne govorimo.

Asimetricni kljuci

Asimetricni algoritmi so racunsko mnogo bolj zahtevni (10 do 1000 krat), tako da se uporabljajo za enkratne operacije (identifikacijo in avtentifikacijo). Asimetricni algoritmi so zasnovani na cistih matematicnih problemih (pri najbolj popularnem algoritmu RSA gre za razstavljanje velikih števil na prafaktorje), lahko razen razvoja procesorske moci racunalnikov pricakujemo tudi napredek matematicne teorije za razbijanje asimetricnih kljucev, kar se je v zadnjih desetih letih ze nekajkrat izkazalo. Trenutno se da s superracunalnikom razbiti 512-bitne kljuce in ze prej omenjena ameriška Agencija (NSA) ima verjetno na razpolago dovolj procesne moci da razbije tudi 768-bitne kljuce. Po mnenju strokovnjakov bodo 1024-bitni kljuci varni samo do leta 2000. Vecina jih sicer domneva, da so 2084-bitni kljuci varni "od tod do vecnosti". Varni komunikacijski protokoli kot sta na primer SSL ali SSH kombinirajo simetricne in asimetricne algoritme; asimetricne za vzpostavitev varnih povezav (izmenjavo kljucev), simetricne pa za prenos podatkov po teh varnih kanalih. Kot uporabnike nas zanima predvsem varnost kriptografskih algoritmov. Le-ta je, ce samemu algoritmu zaupamo, odvisna izkljucno od dolzine kljuca s pomocjo katerega so podatki enkriptirani.

Nazaj