Postopek tajnega kodiranja sporočil se že stoletja uporablja v vohunjenju. Šifriranje podatkov je postopek ustvarjanja tajnih formatov sporočil za podatke, ki so shranjeni v računalniških datotekah. Znotraj računalniške programske opreme je na voljo več tehnik šifriranja podatkovnih datotek. Te tehnike so običajno znane kot algoritmi za šifriranje podatkov. Vsak algoritem ima edinstvene prednosti in vzorce uporabe, ki temeljijo na vrsti podatkov in želeni ravni zaščite.
Nešifrirani podatki so informacije, ki jih lahko zlahka prebere računalnik ali oseba. Ko so podatki ustvarjeni v računalniku, se samodejno shranijo v nešifrirani obliki. Ti podatki so shranjeni v računalnikih ali datotečnih strežnikih in do njih lahko zlahka dostopajo morebitni hekerji na internetu. Tehnike šifriranja so posebni procesi, zasnovani za pretvorbo berljivih podatkov v enakovredne neumnosti.
Vzorce in standarde šifriranja upravlja Nacionalni inštitut za standarde in tehnologijo (NIST). Ta organ odobri in preizkuša novo razvite tehnike šifriranja. Trenutno napredni standard šifriranja (AES) velja za enega najsodobnejših standardov za kriptografijo. Zasnovan je tako, da podpira program za šifriranje 256-bitnega ključa. Napredni standard šifriranja je bil ustvarjen leta 2001 in trenutno podpira več algoritmov šifriranja.
Kriptografija z javnim ključem je standardna oblika šifriranja, ki zahteva posebne ključe za šifriranje in dešifriranje sporočil. Tehnike šifriranja, ki uporabljajo to iz kodiranja, se običajno štejejo za varne, ker podatki zahtevajo, da sta dva dela nešifrirana. Prvič, zahteva pravilen algoritem za dešifriranje, drugič pa poseben šifrirani ključ, ki ga je treba uporabiti z algoritmom.
Kriptografija z javnim ključem je edinstvena, ker zahteva posebne ključe za šifriranje in dešifriranje sporočil. Algoritem za šifriranje uporablja javni ključ, za algoritem za dešifriranje pa zasebni ključ. Te vrste šifrirnih tehnik je težko prekiniti zaradi postopka šifriranja z dvema ključema.
Kompleksnost algoritmov za šifriranje temelji na fizični velikosti šifrirnega ključa. Večji kot je ključ, bolj zapleten je lahko šifrirni program. Zgodnje različice šifriranja so uporabljale standard za šifriranje podatkov (DES), ki je podpiral le 56-bitni ključ. Hekerji so jih zlahka manipulirali in hitro zlomili. S standardi AES permutacije možnosti onemogočajo dešifriranje novega šifriranja.
Blowfish je eden najbolj zapletenih algoritmov za šifriranje, ki so trenutno na voljo. Leta 1993 ga je zasnoval Bruce Schneier. Ta šifrirni algoritem temelji na AES in podpira 448-bitni šifrirni ključ. Trenutno ni znane kriptoanalize algoritma blowfish. Ta različica šifriranja je prosto dostopna.