Sümmeetrilise võtme krüpteerimine vs avaliku võtme krüptimine
Krüptograafia uurib teabe peitmist ja seda kasutatakse suhtlemisel ebausaldusväärsel andmekandjal, näiteks Internetil, kus teavet tuleb kaitsta teiste kolmandate isikute eest. Kaasaegne krüptograafia keskendub krüptoalgoritmide väljatöötamisele, mis suudavad andmeid krüpteerida nii, et vastasel on arvutusliku kõvaduse tõttu raske neid murda (seetõttu ei saa seda praktiliste vahenditega murda). Krüpteerimine kasutab andmete krüptimiseks algoritmi, mida nimetatakse šifriks ja seda saab dekrüpteerida ainult spetsiaalse võtmega. Krüpteeritud teavet nimetatakse šifritekstiks ja algse teabe (lihtteksti) saamise protsessi salatekstist nimetatakse dekrüpteerimiseks. Kaks laialdaselt kasutatavat krüpteerimismeetodit on sümmeetrilise võtmega krüpteerimine ja avaliku võtme krüpteerimine. Sümmeetrilise võtmega krüptograafia hõlmab krüpteerimismeetodeid, kus nii saatja kui ka vastuvõtja jagavad sama võtit, mida kasutatakse andmete krüptimiseks. Avaliku võtme krüptograafias kasutatakse kahte erinevat, kuid matemaatiliselt seotud võtit.
Mis on sümmeetrilise võtme krüpteerimine?
Sümmeetrilise võtme krüptimises (tuntud ka kui salajase võtme, ühe võtme, jagatud võtme, ühe võtme või privaatvõtme krüpteerimine) jagavad nii saatja kui ka vastuvõtja sama võtit, mida kasutatakse nii andmete krüptimiseks kui ka dekrüpteerimiseks. Tegelikult võivad need kaks võtit olla identsed või triviaalselt seotud (st nende kahe vahel liikumiseks on vaja väga lihtsat teisendust). Reaalses elus jagavad kaks või enam osapoolt saladust, mida saab kasutada suhtluseks privaatse lingi säilitamiseks. AES (Advanced Encryption Standard) on väga populaarne algoritm, mis kuulub sümmeetrilise võtmega krüpteerimisalgoritmide perekonda.
Mis on avaliku võtme krüpteerimine?
Avaliku võtme krüptimises kasutatakse kahte erinevat, kuid matemaatiliselt seotud võtit. Avaliku võtmega krüpteerimine krüpteerib andmed saaja avaliku võtmega ja neid ei saa dekrüpteerida ilma vastavat privaatvõtit kasutamata. Teisisõnu vajate lukustamiseks (lihtteksti krüpteerimiseks) ühte võtit ja avamiseks (küperteksti dekrüpteerimiseks) teist võtit. Oluline on see, et ühte võtit ei saa kasutada teise asemel. Sõltuv alt avaldatud võtmest saab avaliku võtme krüptimist kasutada kahel eesmärgil. Kui lukustusvõti on avalikustatud, saab seda süsteemi kasutada igaüks, et saata avamisvõtme omanikule privaatset suhtlust. Kui see on vastupidi, võimaldab süsteem kontrollida omaniku poolt lukustatud dokumente. Avaliku võtmega krüptimine on asümmeetrilise võtmega algoritm. Kuid ainult mõnel asümmeetrilise võtme algoritmil on eriline omadus, et nad ei suuda üht võtit teise teadmisega paljastada. Seega nimetatakse selle eriomadusega asümmeetrilise võtmega algoritme avaliku võtme krüpteerimisalgoritmideks.
Mis vahe on sümmeetrilise võtme krüptimisel ja avaliku võtme krüptimisel?
Peamine erinevus sümmeetrilise võtmega krüptimise ja avaliku võtmega krüptimise vahel seisneb selles, et sümmeetrilise võtmega krüptimisel kasutatakse krüptimiseks/dekrüpteerimiseks sama (privaatset, salajast) võtit, samas kui avaliku võtmega krüptimisel kasutatakse nii avalikku kui ka privaatvõtit. Mõlemad pooled peaksid teadma sümmeetrilise võtmega krüptimise võtit, samas kui avaliku võtmega krüptimisel sellist nõuet ei ole. Ainult üks neist on avaliku võtme krüptimise kahele osapoolele teada. Kuna see eemaldab vajaduse jagada oma privaatvõtit (nagu sümmeetrilise võtmega krüptimise puhul) ja selle ohtu sattumise ohu, võib avaliku võtme krüptimist pidada selles osas turvalisemaks.
Kuid avaliku võtmega krüptimise peamine puudus on see, et see on mitu korda aeglasem kui sümmeetrilise võtmega krüptimine. Seega võib sümmeetrilise võtmega krüptimine olla parem suurte andmemahtude krüptimiseks. Lisaks peavad avaliku võtmega krüpteerimisalgoritmid kasutama sama tugevuse saavutamiseks suhteliselt tugevamat võtit kui sümmeetrilise võtmega krüptimine (sel lihtsal põhjusel, et avaliku võtme krüptograafias tehakse avalikuks üks võti).