Kriptografski algoritmi so zaporedja procesov ali pravil, ki se uporabljajo za šifriranje in dešifriranje sporočil v kriptografskem sistemu. Preprosto povedano, gre za procese, ki ščitijo podatke tako, da zagotavljajo, da neželeni ljudje ne morejo dostopati do njih. Ti algoritmi imajo široko paleto uporab, vključno z zagotavljanjem varnih in preverjenih finančnih transakcij.
Večina kriptografskih algoritmov vključuje uporabo šifriranja, ki dvema strankama omogoča komunikacijo, hkrati pa preprečuje, da bi nepooblaščene tretje osebe razumele te komunikacije. Šifriranje pretvori človeku berljivo golo besedilo v nekaj neberljivega, znanega tudi kot šifrirano besedilo. Šifrirani podatki se nato dešifrirajo, da se obnovijo, tako da bodo razumljivi za nameravano stran. Tako šifriranje kot dešifriranje delujeta na podlagi algoritmov.
Obstaja veliko različnih vrst kriptografskih algoritmov, čeprav jih večina spada v eno od dveh klasifikacij – simetrično in asimetrično. Nekateri sistemi pa uporabljajo hibrid obeh klasifikacij. Simetrični algoritmi, znani tudi kot algoritmi s simetričnim ključem ali algoritmi s skupnim ključem, delujejo z uporabo ključa, ki ga poznata le dve pooblaščeni strani. Čeprav se te lahko izvajajo v obliki blokovnih šifr ali tokovnih šifr, se isti ključ uporablja za šifriranje in dešifriranje sporočila. Standard šifriranja podatkov (DES) in napredni standard šifriranja (AES) sta najbolj priljubljena primera algoritmov simetrične kriptografije.
Algoritmi asimetrične kriptografije se zanašajo na par ključev – javni in zasebni ključ. Javni ključ je mogoče razkriti, vendar je za zaščito podatkov treba zasebni ključ skriti. Poleg tega je treba šifriranje in dešifriranje podatkov izvajati s pripadajočimi zasebnimi in javnimi ključi. Na primer, podatke, šifrirane z zasebnim ključem, je treba dešifrirati z javnim ključem in obratno. RSA je eden najpogostejših primerov tega algoritma.
Simetrični algoritmi so običajno veliko hitrejši od asimetričnih algoritmov. To je v veliki meri povezano z dejstvom, da je potreben samo en ključ. Pomanjkljivost sistemov s skupnimi ključi pa je, da obe strani poznata skrivni ključ. Poleg tega, ker je uporabljeni algoritem javna domena, je pravzaprav ključ, ki nadzoruje dostop do podatkov. Iz teh razlogov je treba ključe varovati in jih razmeroma pogosto menjati, da se zagotovi varnost.
Čeprav se kriptografski algoritmi uporabljajo za zagotavljanje varnosti, niso 100% varni. Neoptimalni sistem se lahko infiltrira in posledično so lahko ogrožene občutljive informacije. Zato je strogo testiranje algoritmov, zlasti glede na uveljavljene standarde in ugotovljene pomanjkljivosti, ključnega pomena za zagotavljanje največje varnosti.