Mis on krüptoalgoritmid?

Krüptoalgoritmid on protsesside või reeglite jadad, mida kasutatakse krüptograafilises süsteemis sõnumite šifreerimiseks ja dešifreerimiseks. Lihtsamalt öeldes on need protsessid, mis kaitsevad andmeid, tagades, et soovimatud inimesed ei pääse neile juurde. Nendel algoritmidel on lai valik kasutusvõimalusi, sealhulgas turvaliste ja autentsete finantstehingute tagamine.

Enamik krüptoalgoritme hõlmab krüptimise kasutamist, mis võimaldab kahel osapoolel suhelda, takistades samal ajal volitamata kolmandatel isikutel sellest suhtlusest aru saama. Krüpteerimine muudab inimesele loetava lihtteksti millekski loetamatuks, mida nimetatakse ka šifrtekstiks. Seejärel dekrüpteeritakse krüptitud andmed nende taastamiseks, muutes need soovitud osapoolele arusaadavaks. Nii krüptimine kui ka dekrüpteerimine põhinevad algoritmidel.

Krüptoalgoritme on palju erinevat tüüpi, kuigi enamik neist sobib ühte kahest klassifikatsioonist – sümmeetriline ja asümmeetriline. Mõned süsteemid kasutavad aga mõlema klassifikatsiooni hübriidi. Sümmeetrilised algoritmid, tuntud ka kui sümmeetrilise võtme või jagatud võtmega algoritmid, töötavad võti, mida teavad ainult kaks volitatud osapoolt. Kuigi neid saab rakendada plokkšifrite või voošifrite kujul, kasutatakse sama võtit nii sõnumi krüptimiseks kui ka dekrüpteerimiseks. Andmete krüptimise standard (DES) ja Advanced Encryption Standard (AES) on sümmeetrilise krüptoalgoritmide kõige populaarsemad näited.

Asümmeetrilised krüptograafiaalgoritmid põhinevad võtmete paaril – avalikul ja privaatsel võtmel. Avalikku võtit saab paljastada, kuid andmete kaitsmiseks tuleb privaatvõti varjata. Lisaks tuleb andmete krüptimine ja dekrüpteerimine teha seotud privaatsete ja avalike võtmetega. Näiteks tuleb privaatvõtmega krüptitud andmed dekrüpteerida avaliku võtmega ja vastupidi. RSA on selle algoritmi üks levinumaid näiteid.

Sümmeetrilised algoritmid on tavaliselt palju kiiremad kui asümmeetrilised algoritmid. See on suuresti seotud asjaoluga, et vaja on ainult ühte võtit. Jagatud võtmega süsteemide puuduseks on aga see, et mõlemad pooled teavad salajast võtit. Lisaks, kuna kasutatav algoritm on üldkasutatav, on see tegelikult võti, mis kontrollib juurdepääsu andmetele. Nendel põhjustel tuleb võtmeid turvalisuse tagamiseks kaitsta ja neid suhteliselt sageli vahetada.

Kuigi turvalisuse tagamiseks kasutatakse krüptoalgoritme, ei ole need 100% lollikindel. Mitteoptimaalne süsteem võib tungida ja tundlikku teavet ohustada. Seetõttu on ülima turvalisuse tagamiseks ülimalt oluline algoritmide range testimine, eriti vastavalt kehtestatud standarditele ja tuvastatud nõrkustele.