Avaliku võtmega krüptograafia

Avaliku võtmega krüptograafia on krüpteerimise meetod, milles kasutatakse avaliku ja salajase  paari. Sõnumi saatja šifreerib sõnumi kasutades vastuvõtja avalikku võtit, vastuvõtja dešifreerib sõnumi enda salajase võtmega. Salajane ehk isiklik võti on alati ainult sõnumi vastuvõtja valduses, seevastu avalik võti on mõeldud avalikuks levitamiseks. Šifreerimist ühe võtmega ja dešifreerimist teisega nimetatakse asümmeetriliseks krüpteerimiseks.

Tänapäeval kasutatakse avaliku võtmega krüptograafilisi süsteeme laialdaselt võrguprotokollides, näiteks TLS-is, selle eelkäijas SSL-is (mis on HTTPS-i aluseks) ja SSH-s. Samuti kasutatakse seda PGP, S/MIME ja digitaalallkirja puhul.

Allkirjastamine
Avaliku võtme krüptograafia võimaldab ka sõnumite allkirjastamist. Selleks šifreerib saatja sõnumi enda salajase võtmega. Kuna sõnumit saab šifreerida ainult salajase võtme valdaja, saab vastuvõtja veenduda sõnumi autentsuses, kui dešifreerib sõnumi kasutades saatja avalikku võtit.

Pikkade sõnumite šifreerimine on väga arvutusmahukas, seepärast kasutatakse allkirjastamisel praktikas sõnumi enda asemel sõnumist arvutatud räsi. Seejuures tuleb kasutada räsifunktsiooni, mille korral on väga raske leida teist sõnumit sama räsiga. Vastasel juhul saab mõnede sõnumite jaoks allkirja võltsida. Sobiv räsifunktsioon on näiteks SHA-2.

Ajalugu
Asümmeetrilistele šifritele panid aluse Whitfield Diffie ja Martin Hellmani 1976. aastal avaldatud töös "Uued suunad kaasaegses krüptograafias" (ingl. "New Directions in Cryptography"). Mõjutatuna Ralph Merkle’i tööst avaliku võtme levitamisest, pakkusid nad välja salajase võtme edastamise meetodi üle ebaturvalise ühenduse. See võtmete vahetuse meetod sai tuntuks Diffie-Hellmani võtmevahetuse nime all ja oli esimene praktiline avalikustatud meetod salajaste võtmete vahetamiseks usaldusväärsete kasutajate vahel. 2002. aastal esitas Hellman ettepaneku nimetada antud algoritmi „Diffie-Hellman-Merkle“ algoritmiks, tunnustades ka Merkle panust avaliku võtme krüptograafia leiutamisel. Sama skeemi töötas välja Malcolm Williamson 1970ndatel, kuid seda hoiti salastatuna kuni 1997. aastani. Merkle’i avaliku võtme levitamise meetod leiutati 1974 ja avaldati 1978. Seda nimetatakse ka Merkle’i mõistatuseks.

1977. aastal töötasid kolm teadlast Ronald Linn Rivest, Adi Shamir ja Leonard Adleman välja šifreerimisalgoritmi, mis põhines arvu teguriteks lahutamise probleemil. Süsteem sai nime nende nimede esitähtede järgi (RSA – Rivest, Shamir, Adleman). Sama süsteemi leiutas Clifford Cocks 1973. aastal töötades Valitsusside Peakorteris GCHQ. Tööd hoiti keskuse ametisiseste dokumentide seas, seepärast ei olnud selle olemasolust teada enne 1977. aastat. RSA on esimene algoritm, mis kõlbas šifreerimiseks ja digitaalallkirjaks.

Vaata ka
 RSA (algoritm)
 Krüptograafia
 Avaliku võtme taristu
 Digitaalallkiri

Viited

Krüptograafia
Algoritmid