Proces tajnog kodiranja poruka stoljećima se koristio u špijunaži. Šifriranje podataka je proces stvaranja tajnih formata poruka za podatke koji su pohranjeni u računalnim datotekama. Unutar računalnog softvera postoji više tehnika šifriranja dostupnih za podatkovne datoteke. Te su tehnike obično poznate kao algoritmi za šifriranje podataka. Svaki algoritam ima jedinstvene prednosti i obrasce korištenja na temelju vrste podataka i željene razine zaštite.
Nešifrirani podaci su informacije koje može lako pročitati računalo ili osoba. Kada se podaci kreiraju na računalu, automatski se spremaju u nešifriranom formatu. Ovi podaci se spremaju na računala ili poslužitelje datoteka i mogu im lako pristupiti potencijalni hakeri na Internetu. Tehnike šifriranja su posebni procesi dizajnirani za pretvaranje čitljivih podataka u ekvivalent besmislica.
Uzorcima i standardima šifriranja upravlja Nacionalni institut za standarde i tehnologiju (NIST). Ovo tijelo odobrava i testira novorazvijene tehnike šifriranja. Trenutno se napredni standard šifriranja (AES) smatra jednim od najmodernijih standarda u kriptografiji. Dizajniran je tako da podržava program za šifriranje 256-bitnog ključa. Napredni standard enkripcije stvoren je 2001. godine i trenutno podržava nekoliko algoritama za šifriranje.
Kriptografija s javnim ključem standardni je oblik šifriranja koji zahtijeva posebne ključeve za šifriranje i dešifriranje poruka. Tehnike šifriranja koje koriste ovo od kodiranja obično se smatraju sigurnima jer podaci zahtijevaju da dva dijela budu nešifrirani. Prvo zahtijeva ispravan algoritam za dešifriranje, a drugo zahtijeva poseban šifrirani ključ koji se mora koristiti s algoritmom.
Ono što kriptografiju javnog ključa čini jedinstvenom je zahtjev za posebnim ključevima za šifriranje i dešifriranje poruka. Algoritam za šifriranje koristi javni ključ, a za algoritam za dešifriranje privatni ključ. Ovu vrstu tehnika šifriranja teško je razbiti zbog procesa šifriranja s dva ključa.
Složenost algoritama za šifriranje temelji se na fizičkoj veličini ključa za šifriranje. Što je veći ključ, program za šifriranje može biti složeniji. Rane verzije enkripcije koristile su standard za šifriranje podataka (DES), koji je podržavao samo 56-bitni ključ. Hakeri su njima lako manipulirali i brzo ih razbili. Uz AES standarde, permutacije mogućnosti čine dešifriranje nove enkripcije gotovo nemogućim.
Blowfish je jedan od najsloženijih algoritama za šifriranje trenutno dostupnih danas. Dizajnirao ju je 1993. godine Bruce Schneier. Ovaj algoritam šifriranja temelji se na AES-u i podržava 448-bitni ključ za šifriranje. Trenutno ne postoji poznata kriptoanaliza algoritma blowfish. Ova verzija enkripcije je besplatno dostupna.