Sissejuhatus
Avaliku võtme krüptograafia (PKC), tuntud ka kui asümmeetriline krüptograafia, on raamistik, mis kasutab nii privaatset kui ka avalikku võtit, erinevalt sümmeetrilises krüptograafias kasutatavast üksikust võtmest. Võtmepaaride kasutamine annab PKC-le ainulaadsed omadused ja võimalused, mida saab kasutada teistele krüptograafilistele tehnikatele omaste väljakutsete lahendamiseks. See krüptograafia vorm on muutunud kaasaegse arvutiturbe oluliseks elemendiks ja kasvava krüptoökosüsteemi oluliseks komponendiks.
Kuidas avaliku võtme krüptograafia toimib?
PKC-skeemis kasutab saatja avalikku võtit teabe krüptimiseks, saaja aga privaatset võtit selle dekrüpteerimiseks. Kuna need kaks võtit on üksteisest erinevad, saab avalikku võtit turvaliselt jagada, ilma et see kahjustaks privaatse võtme turvalisust. Iga asümmeetriline võtmepaar on unikaalne, tagades, et avaliku võtmega krüpteeritud sõnumit saab lugeda ainult isik, kellel on vastav privaatne võti.
Kuna asümmeetrilised krüptimisalgoritmid loovad võtmepaare, mis on matemaatiliselt seotud, on nende võtmete pikkused palju pikemad kui sümmeetrilises krüptograafias kasutatavad. See pikem pikkus, tavaliselt vahemikus 1024 kuni 2048 bitti, muudab privaatse võtme arvutamise selle avalikust vastest äärmiselt keeruliseks. Üks tänapäeval kõige levinumaid asümmeetrilise krüptimise algoritme on tuntud kui RSA.
RSA-skeemis genereeritakse võtmed mooduli abil, mis saadakse kahe arvu (sageli kahe suure algarvu) korrutamisel. Põhimõtteliselt genereerib moodul kaks võtit (ühe avaliku, mida saab jagada, ja ühe privaatse, mida tuleks hoida salajas). RSA algoritmi kirjeldasid esmakordselt 1977. aastal Rivest, Shamir ja Adleman (seega RSA) ning see on endiselt avaliku võtmega krüptograafiasüsteemide peamine komponent.
PKC kui krüptimistööriist
Avaliku võtme krüptograafia lahendab ühe sümmeetriliste algoritmide pikaajalise probleemi, milleks on nii krüptimiseks kui ka dekrüptimiseks kasutatava võtme edastamine. Selle võtme saatmine ebaturvalise ühenduse kaudu võib selle paljastada kolmandatele osapooltele, kes saavad seejärel lugeda kõiki jagatud võtmega krüptitud sõnumeid. Kuigi selle probleemi lahendamiseks on olemas krüptotehnikad (nt Diffie-Hellmani-Merkle võtmevahetusprotokoll), on need siiski rünnakute suhtes haavatavad. Seevastu avaliku võtme krüptograafias saab krüptimiseks kasutatavat võtit turvaliselt jagada mis tahes ühenduse kaudu. Selle tulemusena pakuvad asümmeetrilised algoritmid sümmeetrilistega võrreldes kõrgemat kaitsetaset.
Digiallkirjade genereerimine
Teine asümmeetrilise krüptoalgoritmide rakendus on andmete autentimine digitaalallkirjade abil. Põhimõtteliselt on digitaalallkiri sõnumis sisalduvate andmete põhjal loodud räsi. Kui see sõnum on saadetud, saab saaja allkirja kontrollida, kasutades saatja avalikku võtit. Nii saavad nad autentida sõnumi allika ja veenduda, et seda pole rikutud. Mõnel juhul rakendatakse digitaalallkirju ja krüptimist koos, mis tähendab, et räsi võib olla krüptitud sõnumi osana. Tuleb aga märkida, et mitte kõik digiallkirjaskeemid ei kasuta krüptimistehnikaid.
Piirangud
Kuigi seda saab kasutada arvutiturbe suurendamiseks ja sõnumite terviklikkuse kontrollimiseks, on PKC-l siiski mõned piirangud. Krüptimise ja dekrüptimisega seotud keerukate matemaatiliste toimingute tõttu võivad asümmeetrilised algoritmid olla suurte andmemahtudega tegelemisel üsna aeglased. Seda tüüpi krüptograafia sõltub suuresti ka eeldusest, et privaatne võti jääb salajaseks. Kui privaatset võtit kogemata jagatakse või avalikustatakse, satub ohtu kõigi vastava avaliku võtmega krüptitud sõnumite turvalisus. Samuti on võimalik, et kasutajad kaotavad kogemata oma privaatsed võtmed, mille puhul muutub krüptitud andmetele juurdepääs võimatuks.
Avaliku võtme krüptograafia rakendused
Seda tüüpi krüptograafiat kasutavad paljud kaasaegsed arvutisüsteemid tundliku teabe turvalisuse tagamiseks. Näiteks saab e-kirju krüptida avaliku võtmega krüptograafiatehnikate abil, et hoida nende sisu konfidentsiaalsena.
Secure sockets layer (SSL) protokoll, mis võimaldab turvalisi ühendusi veebisaitidega luua, kasutab ka asümmeetrilist krüptograafiat. PKC-süsteeme on isegi uuritud kui vahendit turvalise elektroonilise hääletuskeskkonna pakkumiseks, mis võimaldaks valijatel osaleda valimistel oma koduarvutitest.
PKC-l on ka plokiahela ja krüptotehnoloogias silmapaistev roll. Uue krüptorahakoti seadistamisel genereeritakse võtmete paar (avalikud ja privaatsed võtmed). Rahakoti aadress genereeritakse avaliku võtme abil ja seda saab turvaliselt teistega jagada. Privaatset võtit seevastu kasutatakse digitaalallkirjade loomiseks ja tehingute kontrollimiseks ning seetõttu tuleb seda hoida saladuses.
Kui tehing on kontrollitud digitaalallkirjas sisalduva räsi kinnitamisega, saab selle tehingu lisada plokiahela arvestusraamatusse. See digitaalallkirja kontrollimise süsteem tagab, et raha saab liigutada ainult isik, kellel on vastava krüptovaluuta rahakotiga seotud privaatne võti.
Tuleb märkida, et krüptoraharakendustes kasutatav asümmeetriline krüptograafia erineb arvutiturbe eesmärgil kasutatavast. Näiteks Bitcoin ja Ethereum kasutavad tehingute kontrollimiseks spetsiifilist algoritmi, mida nimetatakse elliptilise kõvera digitaalallkirja algoritmiks (ECDSA). Samuti loob ECDSA digitaalallkirju ilma krüptimist kasutamata. See tähendab, et plokiahel ei vaja krüptimist, vastupidiselt sellele, mida paljud kipuvad uskuma.
Lõppmärkused
Arvutiturbest kuni krüptotehingute kontrollimiseni mängib avaliku võtmega krüptograafia kaasaegsete digitaalsüsteemide turvamisel olulist rolli. Kasutades seotud avalikke ja privaatseid võtmeid, lahendavad asümmeetrilised krüptograafiaalgoritmid sümmeetriliste šifrite tekitatud põhilisi turvaprobleeme. Kuigi PKC-d on kasutatud juba aastaid, arendatakse selle jaoks regulaarselt uusi kasutusviise ja rakendusi, seda eriti plokiahela ja krüptorahade valdkonnas.