PRIROČNIK ZA TEORETIČNO RAČUNALNIŠTVO
Kriptografija
3. Cilji in sredstva kriptologije
Kot se je kriptologija razvijala, je naraščalo število ciljev, ki naj jim zadosti, kakor tudi količina različnih sredstev (ali načinov), ki jih imamo na voljo za njih uresničitev.
V tem razdelku si bomo ogledali nekaj teh ciljev in primernih načinov.
Kriptologija prinaša metode, ki vlivajo sogovorniku zaupanje v to, da ima njegovo sporočanje željene lastnosti, ne glede na ves vložen napor s strani nasprotnika.
Željene lastnosti bi lahko bile:
- Zasebnost. Nasprotnik ne izve nič uporabnega o poslanem sporočilu.
- Overovitev. Sprejemnik sporočila se lahko prepriča, da je prejeto sporočilo pristno, torej takšno, kot ga je odposlal pošiljatelj.
- Podpisi. Sprejemnik sporočila lahko prepriča tretjo osebo, da je prejeto sporočilo overovljeno s strani pošiljatelja.
- Minimalnost. Drugim strankam ni sporočeno nič, kar ne bi bilo posebej zaželjeno.
- Hkratna izmenjava. Vrednota (na primer podpis pogodbe) ni poslana,
dokler ni sprejeta neka druga vrednota (na primer podpis z nasprotne strani) v zameno.
- Usklajenost. Pri večstranskem sporočanju lahko sogovorniki usklajujejo svoje dejavnosti k skupnim ciljem kljub prisotnosti nasprotnikov.
- Prag sodelovanja. V primeru večstranskega sporočanja lahko željene lastnosti držijo, dokler število nasprotnikov ne preseže določenega praga.
Na zahtevnejši stopnji vključujejo orodja za doseganje teh ciljev naslednje:
- Naključnost. Vsak sogovornik lahko uporablja lasten naraven vir naključnosti (kot je šumna dioda) in resnično naključno izbira bite za generiranje svojih tajnih ključev ali za izvedbo naključnih izračunov [73].
- Fizična zaščita. Vsak sogovornik mora fizično ščititi svoje skrivnosti pred nasprotnikom.
Njegova najvažnejša skrivnost je običajno naključno generiran tajni ključ ta mu namreč omogoča edinstvene sposobnosti.
Po drugi strani pa se ima podatke o načrtih opreme ali podrobnostih kriptografskih postopkov za nezaščitljive, tako da se varnost običajno ne nanaša na tajnost takih podatkov.
(Kerchoffova druga zahteva [92, stran 235] za kriptografsko metodo je bila, da tudi njeno razbitje ne sme ogroziti sporočanja.)
- Lastnosti kanala. Včasih lahko izkoristimo neobičajne lastnosti kanala sporočanja.
Alpern in Schneider [7] sta na primer pokazala, kako sporočati varno preko kanala, za katerega prisluškovalec ne more vedeti, kdo oddaja kateri bit.
Wyner [158] premaguje prisluškovalca, ki ima slabšo zmogljivost sprejemanja
od nameravanega sprejemnika, ali ko je kanal analogen namesto digitalnega [159, 160].
Bennett in drugi so izrabili nenavadnost kvantnih pojavov na svojih kanalih [17].
Kanali širokega spektra so učinkovito nedotakljivi za nasprotnike, ki ne poznajo
podrobnosti njih uporabe [71].
V tem zapisu ne bomo zasledovali raznih nadaljnjih izpeljank.
- Teorija informacij. Nekatere metode, kot na primer Vernamov kod [92],
so varne s stališča teorije informacij, saj nima nasprotnik nikoli dovolj podatkov
za zlom tajnopisa, pri tem mu ne more pomagati še tako močna računalniška podpora [146, 89].
- Teorija zahtevnosti. Nasprotnikova naloga je največkrat neizračunljiva (oziroma prezahtevna), ne pa tudi nemogoča v pogledu teorije informacij.
Sodobna kriptografija uporablja teorijo zahtevnosti za načrtovanje metod, za katere verjamemo, da jih je v praksi nemogoče razbiti z razumno količino vloženega dela (v realnem času).
Kljub temu pa se jih lahko v principu da razbiti (z izjemno srečo, z ugibanjem tajnega ključa ali z izjemno dolgim računanjem).
- Kriptografski operatorji. Te računske preslikave kot so šifriranje, dešifriranje, enosmerne funkcije, psevdo-naključni generatorji
zaporedij so osnovni gradniki izgradnje kriptografskih metod.
Opazimo, da to niso nujno funkcije, saj lahko uporabljajo naključnost, tako da različna slikanja privedejo do različnih rezultatov, pa čeprav za iste vhodne podatke.
Bolj zapletene operatorje lahko sestavimo s komponiranjem enostavnejših.
- Kriptografski protokoli. Protokol nam pove, kako naj sogovorniki začenjajo in odgovarjajo na sporočila, kar vključuje tudi napačna in nedovoljena sporočila.
Pove nam lahko tudi zahteve za začetno nastavitev, recimo imenika javnih ključev.
Sogovornik sam se s spoštovanjem protokola zaščiti pred določenimi nevarnostmi, čeprav se ga drugi ne držijo.
Načrtovanja protokolov in operatorjev lahko potekajo neodvisno, kot lahko implementacija abstraktnega podatkovnega tipa poteka neodvisno od njegove uporabe.
Načrtovalec protokola upošteva obstoj operatorjev z določenimi varnostnimi lastnostmi in predlaga njih uresničitev.
Poskuša pa te lastnosti tudi dokazati.