Sümmeetrilise võtme krüptograafia (või sümmeetriline krüptimine) on krüptimisskeem, mille puhul kasutatakse sama võtit nii sõnumite krüptimiseks kui ka dekrüptimiseks. Sellist teabe kodeerimise meetodit on viimastel aastakümnetel suures osas kasutatud valitsuste ja sõjaväe vahelise salajase suhtluse hõlbustamiseks. Tänapäeval kasutatakse sümmeetrilise võtme algoritme laialdaselt erinevat tüüpi arvutisüsteemides, et suurendada andmete turvalisust.
Kuidas asümmeetriline krüptimine toimib?
Sümmeetrilised krüptimisskeemid põhinevad ühel võtmel, mida jagatakse kahe või enama kasutaja vahel. Sama võtit kasutatakse nn tavateksti (mis kujutab endast kodeeritavat sõnumit või andmestikku) krüptimiseks ja dekrüptimiseks. Krüptimisprotsess seisneb selles, et tavaline tekst (sisend) läbib krüptimisalgoritmi, mida nimetatakse šifriks, mis omakorda genereerib šifreeritud teksti (väljundi).
Kui krüptimisskeem on piisavalt tugev, on inimesel ainus viis šifritekstis sisalduvat teavet lugeda või sellele juurde pääseda vastava võtme dekrüptimiseks. Dekrüptimise protsess seisneb põhimõtteliselt salastatud teksti ümberkujundamises tagasi lihtsaks tekstiks.
Sümmeetriliste krüptimissüsteemide turvalisus põhineb sellel, kui raske on juhuslikult vastavat võtit ära arvata. Näiteks 128-bitise võtme äraarvamine tavalise arvuti riistvara abil võtaks miljardeid aastaid. Mida pikem on krüptimisvõti, seda raskem on seda murda. Võtmeid, mille pikkus on 256 bitti, peetakse üldiselt väga turvalisteks ja teoreetiliselt vastupidavaks kvantarvuti toore jõu rünnakutele.
Kaks kõige levinumat tänapäeval kasutatavat sümmeetrilist krüptimisskeemi põhinevad plokk- ja voogkoodidel. Plokišifrid rühmitavad andmed etteantud suurusega plokkideks ja iga plokk krüpteeritakse vastava võtme ja krüptimisalgoritmi abil (nt 128-bitine tavatekst krüpteeritakse 128-bitiseks šifritekstiks). Teisalt ei krüptita voogkooderite puhul lihtteksti andmeid plokkide kaupa, vaid pigem 1-bitiste sammude kaupa (1-bitine lihttekst krüptitakse 1-bitiseks salatekstiks korraga).
Sümmeetriline vs. asümmeetriline krüpteerimine
Sümmeetriline krüptimine on üks kahest peamisest andmete krüptimise meetodist kaasaegsetes arvutisüsteemides. Teine on asümmeetriline krüptimine, mis on avaliku võtme krüptograafiapeamine rakendus. Peamine erinevus nende meetodite vahel seisneb selles, et asümmeetrilised süsteemid kasutavad kahte võtit, mitte ühte, mida kasutatakse sümmeetriliste skeemide puhul. Ühte võtmetest võib avalikult jagada (avalik võti), teine peab olema privaatne (privaatne võti).
Kahe võtme kasutamine ühe võtme asemel toob samuti kaasa mitmeid funktsionaalseid erinevusi sümmeetrilise ja asümmeetrilise krüptimise vahel. Asümmeetrilised algoritmid on keerulisemad ja aeglasemad kui sümmeetrilised. Kuna asümmeetrilises krüptimises kasutatavad avalik ja privaatne võti on mingil määral matemaatiliselt seotud, peavad ka võtmed ise olema tunduvalt pikemad, et pakkuda samasugust turvalisuse taset, mida pakuvad lühemad sümmeetrilised võtmed.
Kasutamine kaasaegsetes arvutisüsteemides
Sümmeetrilisi krüptimisalgoritme kasutatakse paljudes kaasaegsetes arvutisüsteemides, et suurendada andmete turvalisust ja kasutajate privaatsust. Advanced Encryption Standard (AES), mida kasutatakse laialdaselt nii turvalistes sõnumirakendustes kui ka pilvesalvestuses, on üks silmapaistev näide sümmeetrilisest šifrist.
Lisaks tarkvaralistele rakendustele saab AES-i rakendada ka otse arvutite riistvaras. Riistvarapõhised sümmeetrilised krüptimisskeemid kasutavad tavaliselt AES 256, mis on täiustatud krüptimisstandardi konkreetne variant, mille võtme suurus on 256 bitti.
Väärib märkimist, et Bitcoini plokiahel ei kasuta krüptimist, nagu paljud kipuvad arvama. Selle asemel kasutatakse spetsiaalset digitaalallkirja algoritmi (DSA), mida nimetatakse elliptilise kõvera digitaalallkirja algoritmiks (ECDSA - Elliptic Curve Digital Signature Algorithm), mis genereerib digitaalallkirju ilma krüptimist kasutamata.
Üldine segadus seisneb selles, et ECDSA põhineb elliptilise kõveraga krüptograafial (ECC), mida omakorda võib rakendada mitmete ülesannete täitmiseks, sealhulgas krüptimine, digitaalallkirjad ja pseudojuhuslikud generaatorid. ECDSA-d ise ei saa aga üldse krüptimiseks kasutada.
Eelised ja puudused
Sümmeetrilised algoritmid tagavad üsna kõrge turvalisuse taseme, võimaldades samal ajal sõnumeid kiiresti krüptida ja dekrüptida. Sümmeetriliste süsteemide suhteline lihtsus on ka logistiline eelis, kuna need nõuavad vähem arvutusvõimsust kui asümmeetrilised süsteemid. Lisaks saab sümmeetrilise krüptimise pakutavat turvalisust suurendada lihtsalt võtme pikkuse suurendamisega. Iga bitiga, mis lisatakse sümmeetrilise võtme pikkusele, suureneb krüptimise murdmise keerukus toore jõu rünnaku abil eksponentsiaalselt.
Kuigi sümmeetriline krüptimine pakub palju eeliseid, on sellega seotud üks suur puudus: andmete krüptimiseks ja dekrüptimiseks kasutatavate võtmete edastamise probleem. Kui neid võtmeid jagatakse ebaturvalise ühenduse kaudu, on need haavatavad pahatahtlike kolmandate isikute poolt pealtkuulamisele. Kui volitamata kasutaja saab juurdepääsu konkreetsele sümmeetrilisele võtmele, on selle võtmega krüptitud andmete turvalisus ohus. Selle probleemi lahendamiseks kasutavad paljud veebiprotokollid turvaliste ühenduste loomiseks sümmeetrilise ja asümmeetrilise krüptimise kombinatsiooni. Sellise hübriidsüsteemi silmapaistvamate näidete hulgas on Transport Layer Security (TLS ) krüptograafiline protokoll, mida kasutatakse suure osa kaasaegse Interneti turvamiseks.
Samuti tuleb märkida, et igat tüüpi arvutite krüptimisel esineb ebaõige rakendamise tõttu haavatavusi. Kuigi piisavalt pikk võti võib matemaatiliselt võimatuks teha toore jõu rünnaku, tekitavad programmeerijate poolt tehtud rakendusvead sageli nõrkusi, mis avavad tee küberrünnakutele.
Lõppmärkused
Tänu suhtelisele kiirusele, lihtsusele ja turvalisusele kasutatakse sümmeetrilist krüptimist laialdaselt mitmesugustes rakendustes alates internetiliikluse turvamisest kuni pilveserverites salvestatud andmete kaitsmiseni. Kuigi sümmeetrilised krüptimisskeemid on võtmete turvalise ülekandmise probleemi lahendamiseks sageli seotud asümmeetrilise krüptimisega, jäävad sümmeetrilised krüptimisskeemid tänapäevase arvutiturbe ülitähtsaks komponendiks.