Krüptograafilised süsteemid jagunevad kaheks suureks uurimisvaldkonnaks: sümmeetriline ja asümmeetriline krüptograafia. Kui sümmeetrilist krüpteeringut kasutatakse sageli sümmeetrilise krüptograafia sünonüümina, siis asümmeetriline krüptograafia hõlmab kahte peamist kasutusjuhtu: asümmeetriline krüpteering ja digitaalallkirjad.
Seetõttu saab neid gruppe esitleda järgnevalt
Sümmeetrilise võtme krüptograafia
Sümmeetriline krüpteering
Asümmeetriline krüptograafia (või avaliku võtme krüptograafia)
Asümmeetriline krüpteering (või avaliku võtmega krüpteerimine)
Digitaalallkirjad (võivad, kuid ei pruugi sisaldada krüpteerimist)
See artikkel keskendub sümmeetrilistele ja asümmeetrilistele krüpteerimisalgoritmidele.
Sümmeetriline vs. asümmeetriline krüpteerimine
Krüpteerimisalgoritmid jagunevad sageli kahte kategooriasse, mida nimetatakse sümmeetriliseks ja asümmeetriliseks krüpteerimiseks. Põhiline erinevus nende kahe krüpteerimismeetodi vahel tuleneb asjaolust, et sümmeetrilised krüpteerimisalgoritmid kasutavad ühte võtit, asümmeetriline krüpteerimine aga kahte erinevat, kuid omavahel seotud võtit. Selline pealtnäha lihtne eristamine seletab kahte krüpteerimistehnika viisi ja nende kasutusviiside funktsionaalseid erinevusi.
Krüpteerimisvõtmete mõistmine
Krüptograafias genereerivad krüpteerimisalgoritmid võtmeid bittidena, mida kasutatakse teabe krüpteerimiseks ja dekrüpteerimiseks. Sümmeetrilise ja asümmeetrilise krüpteerimise erinevus on nende võtmete kasutamise viis.
Kui sümmeetrilised krüpteerimisalgoritmid kasutavad nii krüpteerimise kui ka dekrüpteerimise funktsioonide tegemiseks sama võtit, siis asümmeetriline krüpteerimisalgoritm kasutab andmete krüpteerimiseks üht võtit ja dekrüpteerimiseks teist võtit. Asümmeetrilistes süsteemides nimetatakse krüpteerimiseks kasutatavat võtit avalikuks võtmeks ja seda saab teistega vabalt jagada. Teisest küljest on dekrüpteerimiseks kasutatav võti privaatvõti ja seda tuleks hoida saladuses.
Näiteks kui Alice saadab Bobile sõnumi, mis on sümmeetrilise krüpteeringu poolt kaitstud, peab ta Bobiga jagama sama võtit, mida ta krüpteerimisel kasutas, et Bob saaks sõnumi dekrüpteerida. See tähendab, et kui pahatahtlik osaleja võtme kätte saab, pääseb ta krüpteeritud teabele juurde.
Kui aga Alice kasutab selle asemel asümmeetrilist skeemi, krüpteerib ta sõnumi Bobi avaliku võtmega, nii et Bob saab selle oma privaatvõtmega dekrüpteerida. Seega võimaldab asümmeetriline krüpteerimine kõrgemat turvalisuse taset, sest isegi kui keegi nende sõnumeid pealt kuulab ja Bobi avaliku võtme leiab, ei saa ta sõnumit dekrüpteerida.
Võtmete pikkused
Teine funktsionaalne erinevus sümmeetrilise ja asümmeetrilise krüpteerimise vahel on seotud võtmete pikkusega, mida mõõdetakse bittides ja mis on otseselt seotud iga krüptoalgoritmi pakutava turvatasemega.
Sümmeetrilistes skeemides valitakse võtmed juhuslikult ja nende pikkuseks määratakse tavaliselt 128 või 256 bitti, olenevalt nõutavast turvatasemest. Asümmeetrilise krüpteerimise puhul peab aga avaliku ja privaatvõtme vahel olema matemaatiline seos, mis tähendab, et nende kahe vahel on matemaatiline muster. Kuna ründajad võivad seda mustrit krüpteeringu lahti tegemiseks ära kasutada, peavad asümmeetrilised võtmed olema palju pikemad, et pakkuda samaväärset turbetaset. Võtme pikkuse erinevus on nii suur, et 128-bitine sümmeetriline võti ja 2048-bitine asümmeetriline võti võimaldavad ligikaudu sarnast turvalisuse taset.
Eelised ja puudused
Mõlemal krüpteerimistüübil on üksteisega võrreldes eelised ja puudused. Sümmeetrilised krüpteerimisalgoritmid on palju kiiremad ja vajavad vähem arvutusvõimsust, kuid nende peamine nõrkus on võtmete jagamine. Kuna teabe krüpteerimiseks ja dekrüpteerimiseks kasutatakse sama võtit, tuleb seda võtit jagada kõigile, kellel on vaja andmetele juurde pääseda, mis tekitab loomulikult turvariske (nagu eelnevalt näidatud).
Ja vastupidiselt, asümmeetriline krüpteerimine lahendab võtmete jagamise probleemi, kasutades krüpteerimiseks avalikke võtmeid ja dekrüpteerimiseks privaatvõtmeid. Kompromiss seisneb aga selles, et asümmeetrilised krüpteerimissüsteemid on sümmeetriliste süsteemidega võrreldes väga aeglased ja vajavad oma oluliselt pikema võtmepikkuse tõttu palju rohkem arvutusvõimsust.
Kasutusjuhtumid
Sümmeetriline krüpteering
Suurema kiiruse tõttu kasutatakse sümmeetrilist krüpteerimist laialdaselt andmete kaitsmiseks paljudes kaasaegsetes arvutisüsteemides. Näiteks kasutab Ameerika Ühendriikide valitsus salastatud ja tundliku teabe krüpteerimiseks täiustatud krüpteerimisstandardit (AES). AES asendas varasema Data Encryption Standardi (DES), mis töötati välja 1970. aastatel kui sümmeetrilise krüpteerimise standard.
Asümmeetriline krüpteerimine
Asümmeetrilist krüpteerimist saab rakendada süsteemides, kus paljudel kasutajatel võib tekkida vajadus sõnumi või andmekogumi krüpteerimiseks ja dekrüpteerimiseks, eriti kui kiirus ning arvutusvõimsus ei ole esmatähtsad. Sellise süsteemi üheks näiteks on krüpteeritud meiliaadress, mille puhul saab sõnumi krüpteerimiseks kasutada avalikku võtit ja selle dekrüpteerimiseks privaatvõtit.
Hübriidsüsteemid
Paljudes rakendustes kasutatakse koos sümmeetrilist ja asümmeetrilist krüpteerimist. Selliste hübriidsüsteemide tüüpilisteks näideteks on turvasoklikihi (SSL) ja transpordikihi turvalisuse (TLS) krüptograafilised protokollid, mis on loodud Interneti-sisese turvalise suhtluse pakkumiseks. SSL-protokolle peetakse praegusel ajal ebaturvaliseks ja nende kasutamine tuleks lõpetada. Seevastu TLS-protokolle peetakse ohutuks ja kõik suuremad veebibrauserid kasutavad neid laialdaselt.
Kas krüptorahad kasutavad krüpteerimist?
Lõppkasutajatele suurema turvalisuse pakkumiseks kasutatakse paljudes krüptoraha rahakottides krüpteerimistehnikaid. Krüpteerimisalgoritme rakendatakse näiteks siis, kui kasutajad määravad oma krüptorahakotile parooli, mis tähendab, et tarkvarale juurdepääsuks kasutatud fail krüpteeriti.
Kuid kuna Bitcoin ja teised krüptorahad kasutavad avalikke ning privaatseid võtmepaare, on levinud eksiarvamus, et plokiahela süsteemid kasutavad asümmeetrilisi krüpteerimisalgoritme. Nagu eelnevalt mainitud, on asümmeetriline krüpteerimine ja digitaalallkirjad kaks peamist asümmeetrilise krüptograafia (avaliku võtmega krüptograafia) kasutusjuhtu.
Seetõttu ei kasuta kõik digitaalallkirjasüsteemid krüpteerimistehnikaid, isegi kui need esitavad avalikku ja privaatset võtit. Tegelikult saab sõnumi digitaalselt allkirjastada ilma krüpteerimata. RSA on üks näide algoritmist, mida saab kasutada krüpteeritud sõnumite allkirjastamiseks, kuid Bitcoini kasutatav digitaalallkirjastamise algoritm (nimega ECDSA) ei kasuta krüpteerimist üldse.
Lõppmärkused
Nii sümmeetriline kui ka asümmeetriline krüpteerimine mängivad olulist rolli, et hoida tänapäeva digitaalselt sõltuvas maailmas tundlikku teavet ja suhtlust turvalisena. Kuigi mõlemad võivad olla kasulikud, on neil omad eelised ja puudused ning seetõttu on neil erinevad rakendusvaldkonnad. Kuna krüptograafiateadus areneb jätkuvalt, et kaitsta end uuemate ja keerukamate ohtude eest, jäävad nii sümmeetrilised kui ka asümmeetrilised krüptosüsteemid tõenäoliselt arvutiturbe seisukohalt oluliseks.