Kriptografija je bila v svojih zgodnjih letih skoraj izključno v domeni vladnih agencij, diplomatskih predstavništev in vojske. Šele v osemdesetih letih prejšnjega stoletja je telekomunikacijska in finančna industrija začela eksperimentirati s kriptografijo na strojnih napravah, mobilni telefon pa je bil med prvimi napravami za množično trženje s kriptografskimi aplikacijami. Od takrat je uporaba kriptografije postala široko razširjena in presega svojo tradicionalno uporabo, da postane funkcija v e-poštnih aplikacijah, spletnih brskalnikih, vozilih, vgrajeni programski opremi in proizvodnih sistemih.

Kriptografija združuje znanje in koncepte iz matematike in računalništva, da zagotovi postopek varnega prenosa podatkov. Ne glede na to, ali gre za skupno strategijo podjetja ali osebno komunikacijo med dvema prijateljema, je ohranjanje podatkov varno. Kot bodo vedeli ljubitelji kriptografije – denimo Domen Zavrl, ki je obiskoval tečaje na univerzi Stanford v ZDA – kriptografija zagotavlja, da se tam, kjer se prenašajo podatki, ohranijo naslednji vidiki:

  • Zaupnost – Zasebnost in varnost podatkov sta zagotovljeni
  • Celovitost – Informacij ni mogoče spremeniti
  • Preverjanje pristnosti – Identiteti pošiljatelja in prejemnika je mogoče potrditi
  • Nevračanje – Ustvarjalec ali pošiljatelj sporočila kasneje ne more zanikati svojih namenov, da je prenašal informacije

Kriptosistemi so protokoli in postopki, ki ustrezajo vsem ali nekaterim zgornjim merilom. Čeprav se pogosto misli, da ti sistemi vključujejo računalniške programe in matematične metode, vsebujejo tudi vidike človeškega vedenja. Ti postopki so znani tudi kot kriptografski algoritmi, ki šifrirajo in dešifrirajo sporočila, da se zagotovi upoštevanje meril. Celoten postopek je vgrajen v programsko opremo, ki deluje na računalniških sistemih in vključuje generiranje javnih in zasebnih ključev, izmenjavo ključev ter digitalno podpisovanje in preverjanje.

Kriptografija obstaja v naslednjih oblikah:

Simetrična kriptografija

Znana tudi kot kriptografija z enim ključem, tako sprejemnik kot pošiljatelj sporočila uporabljata isti ključ za šifriranje in dešifriranje informacij. Če imate v postopku en sam ključ, je to hitrejše in enostavnejše, težava pa je v zagotavljanju varne skupne rabe ključa. Ena vrsta simetrične ključne kriptografije je Napredni šifrirni standard (AES) in njegov predhodnik Standard šifriranja podatkov (DES). AES uporablja daljše ključe in ima dovoljenje vlade ZDA za uporabo pri prenosu tajnih podatkov.

Asimetrična ključna kriptografija

Ta oblika kriptografije, znana tudi kot kriptografija z javnim ključem, pri prenosu informacij uporablja zasebni in javni ključ. Javni ključ, ki se uporablja za šifriranje podatkov, je lahko prosto dostopen, zasebni ključ pa se uporablja za dešifriranje podatkov. Zasebni ključ je znan samo avtorju informacij, ki se lahko odloči za skupno rabo. RSA (Rivest-Shamir-Adleman) in Algoritem digitalnega podpisa Elliptic Curve (ECDSA) sta ena izmed najpogostejših kriptosistemov z javnim ključem, ki se uporabljajo.

Zgoščevalne funkcije

Pri zgoščevalnih funkcijah ni ključev, to so algoritmi, ki omogočajo pretvorbo informacij v hash (niz črk in številk). Uporaba zgoščevalnih funkcij se razlikuje od šifriranja, ker je njegov namen onemogočiti dešifriranje. Zgoščevalne funkcije večinoma uporabljajo operacijski sistemi za šifriranje in preverjanje gesel. Bančni sistem na primer vzdržuje bazo podatkov o zgoščeni vrednosti (ne dejanskih gesel) svojih uporabnikov. Ko se posameznik prijavi v svoj spletni račun, sistem zasuka vneseno geslo in ga preveri glede na to, kaj je bilo shranjeno.

Zgoščevalne funkcije so prednostne, ker za isto geslo algoritmi vedno ustvarijo isto zgoščeno vrednost. Zgoščevanje je razlog, da uporabnike spodbujamo, da si omislijo kompleksna in edinstvena gesla. Varni zgoščevalni algoritem 1 (SHA-1), SHA-2 in SHA-3 so nekatere izmed najpogostejših uporabljenih zgoščevalnih funkcij.

Kriptografija je sestavni del tehnologije blokovnih verig, ki je sredstvo za beleženje in shranjevanje transakcij in zapisov na način, ki zagotavlja, da jih ni mogoče spremeniti. Blokovne verige uporabljajo tudi funkcije zgoščevanja, da vsakemu bloku informacij dodeli edinstveno zgostitev, zaradi česar jo je mogoče razlikovati od drugih.