Kriptografija ali kriptologija je praksa in študij skrivanja informacij. Včasih jo imenujemo šifriranje, vendar to ni pravo ime. To je znanost, s katero poskušamo ohraniti tajnost in varnost informacij. Sodobna kriptografija je mešanica matematike, računalništva in elektrotehnike. Kriptografija se uporablja pri bančnih karticah, računalniških geslih in nakupovanju prek interneta, pa tudi pri zaščiti elektronske pošte, varnih komunikacijah med strežniki, digitalnem podpisovanju dokumentov in tehnologijah, kot so veriženje blokov (blockchain).
Kako deluje kriptografija
Ko se sporočilo pošilja s kriptografijo, se pred pošiljanjem spremeni (ali šifrira). Metoda spreminjanja besedila se imenuje "koda" ali, natančneje, "šifra". Spremenjeno besedilo se imenuje "šifrirano besedilo". Zaradi spremembe je sporočilo težko prebrati. Nekdo, ki ga želi prebrati, ga mora spremeniti nazaj (ali dešifrirati). Kako ga spremeniti nazaj, je skrivnost. Tako oseba, ki sporočilo pošilja, kot oseba, ki ga prejme, morata poznati skrivnostni način spreminjanja, vendar drugi ljudje tega ne smejo vedeti. Preučevanje šifriranega besedila, da bi odkrili skrivnost, se imenuje "kriptoanaliza" ali "razbijanje" ali včasih "razbijanje kode".
Ključi in vrste šifer
Različne vrste kriptografije uporabljajo različne pristope do skrivnosti. Šifri uporabljajo "ključ", ki je skrivnost, ki skriva tajna sporočila. Ključ je lahko preprost (npr. število premikov v Cezarjevi šifri) ali zelo kompleksen (dolga binarna vrednost pri sodobnih algoritmih). Ni nujno, da je kriptografska metoda skrivnostna — nasprotno, varne metode so po definiciji javne, varnost pa temelji na tajnosti ključa.
Glede na način uporabe ključa ločimo predvsem:
- simetrično kriptografijo — že obstoječa skupina uporabnikov deli isti skrivni ključ za šifriranje in dešifriranje; primeri so hitri in primerni za velike količine podatkov;
- asimetrično (javno-ključno) kriptografijo — vsak uporabnik ima par ključev (javni in zasebni). Javni ključ lahko uporablja kdorkoli za šifriranje sporočil do lastnika zasebnega ključa; ta pristop omogoča tudi digitalne podpise in izmenjavo ključev preko negotovih kanalov.
Kot primer praktičnih razlik: ker ima Cezarjeva šifra le toliko ključev, kolikor je črk v abecedi, jo zlahka razbijemo, če preizkusimo vse ključe. Šifre, ki omogočajo več milijard ključev, se razbijajo z bolj zapletenimi metodami — za sodobne algoritme pa je dolžina in naključnost ključa ključnega pomena.
Zgodovina in razvoj
Od Cezarjevega časa so bile izdelane številne izboljšane šifre. Pri nekaterih je bila uporabljena spretna matematika, da bi se upirali spretni kriptoanalizi. V 20. stoletju so računalniki postali glavno orodje kriptografije. Pomembni mejavniki vključujejo uporabo mehanskih šifrirnih strojev (npr. Enigma v 2. svetovni vojni), razvoj teorije kodiranja, izum javno-ključne kriptografije v 1970-ih ter standardizacija hitrih simetričnih šifer in kriptografskih hash-funkcij v zadnjih desetletjih.
Sodobne metode in algoritmi
Sodobna kriptografija uporablja vrsto algoritmov in protokolov:
- simetrične šifre — npr. AES (Advanced Encryption Standard), ki je hiter in varen za šifriranje podatkov v mirovanju ali pri prenosu;
- asimetrični algoritmi — npr. RSA, ECC (eliptične krivulje) za izmenjavo ključev, digitalne podpise in overjanje;
- hash funkcije — npr. SHA-2, SHA-3, ki ustvarijo kratek, enosmeren povzetek podatkov za preverjanje integritete in hranjenje gesel (ob primerni uporabi soli in varnih algoritmov);
- protokoli — TLS/SSL za varne internetne povezave, IPsec za varne omrežne povezave, protokoli za preverjanje pristnosti in izmenjavo ključev;
- kryptografski podpisi in infrastruktura javnih ključev (PKI) — sistemi certifikatov, ki povezujejo identiteto z javnim ključem in omogočajo zaupanje v digitalne podpise;
- post-kvantna kriptografija — nove metode, odporne proti napadom kvantnih računalnikov, saj ti lahko z naprednimi algoritmi ogrozijo nekatere obstoječe asimetrične sheme.
Uporaba v praksi
Kriptografija ščiti zasebnost in integriteto v mnogih vsakdanjih situacijah: pri plačilih s karticami, pri računalniških geslih, pri nakupovanju prek interneta, prenosu elektronske pošte, varnemu dostopu do oddaljenih sistemov (VPN, SSH), pri digitalnem podpisovanju dokumentov in v decentraliziranih sistemih, kot so kriptovalute. Poleg tega se uporablja v industrijskih krmilnih sistemih, pri varovanju zdravstvenih in osebnih podatkov ter v državnih varnostnih aplikacijah.
Grožnje in načini napadov
Kriptografski sistemi so lahko teoretično varni, vendar izvajanje in upravljanje določata dejansko varnost. Glavne vrste napadov vključujejo:
- brute-force napade (preizkušanje vseh možnih ključev);
- kriptoanalitične napade, ki izkoriščajo matematične slabosti algoritmov;
- napade na implementacijo, npr. stranske kanale (side-channel), kjer se pridobivajo informacije iz časovanja, porabe energije ali elektromagnetnih izsevov;
- napade človek-v-sredini (man-in-the-middle), če ni pravilne preverbe identitete ali če so ključne izmenjave nezaščitene;
- socialni in postranski napadi (phishing, kraja ključev, nezadostna zaščita gesel).
Praktična priporočila za varnost
Da bi sisteme naredili varnejše, strokovnjaki priporočajo:
- uporabo standardiziranih, preizkušenih algoritmov in knjižnic (namesto lastnih rešitev);
- ustrezno dolžino in kakovost naključnih ključev ter varno ravnanje s ključi (shranjevanje v varnih elementih, HSM, TPM);
- redno posodabljanje protokolov (npr. izogibanje starejšim verzijam TLS);
- uporabo soli in robustnih ključnih derivacijskih funkcij pri shranjevanju gesel;
- testiranje implementacij proti stranskim kanalom in drugim ranljivostim;
- nadzorovan sistem izdaje in preklica certifikatov v PKI.
Prihodnost kriptografije
Kriptografija se nenehno razvija: pojav kvantnega računalništva spodbuja razvoj post-kvantnih algoritmov, hkrati pa se povečuje potreba po varnosti v množici povezanih naprav (IoT). Prav tako raste pomen zasebnosti in regulativnih zahtev (GDPR in podobno), kar povečuje vlogo kriptografije v vsakodnevnih izdelkih in storitvah.
Kriptografija ni le tehnika skrivanja sporočil, temveč celovit sklop metod in praks za zagotavljanje zaupnosti, integritete, pristnosti in nezanikanja v digitalnem svetu. Razumevanje osnov (kot so ključi, šifre in kriptoanaliza) ter pravilna implementacija sodobnih metod sta ključna za varnost sodobnih informacijskih sistemov.

