Criptarea este știința de a face un text imposibil de citit pentru a-l transmite în siguranță și în secret destinatarului vizat, care folosește o cheie pentru a decripta mesajul. Un algoritm de criptare este o serie definită de pași pentru criptarea datelor. Textul original este denumit text simplu și, după ce i s-a aplicat algoritmul de criptare, se numește text cifrat. Algoritmul de criptare poate fi denumit cifr și adesea i se dă un nume. De exemplu, există un algoritm de criptare numit Blowfish și un altul numit AES (Advanced Encryption Standard), de exemplu.
Un algoritm de criptare poate depinde de substituție, ca într-un cifr de substituție, sau de transpunere, ca într-un cifr de transpunere. Exemple de criptări timpurii care sunt cunoscute s-au bazat pe algoritmi simpli de criptare. De exemplu, Iulius Caesar a folosit un cifr care presupunea înlocuirea în care a mutat literele alfabetului astfel încât un A să fie reprezentat de un D, un B să fie reprezentat de un E și așa mai departe. Întrucât există 26 de litere în alfabet, se pot crea 25 de cifruri de acest fel – al 26-lea ar avea A înlocui A, ceea ce nu este foarte secret. Cheia acestui cifr poate fi considerată ca fiind numărul de locuri schimbate.
Nu este necesar, însă, ca un algoritm de criptare să folosească litere. Poate folosi numere și alte simboluri ca înlocuitori pentru litere. În nuvela „The Gold Bug”, Edgar Allen Poe a folosit un cifr de substituție în care algoritmul de criptare implică acest tip de înlocuire, folosind simboluri.
53##+305))6*;4826)4#.)4#);806*;48+8¶60))85;;]8*;:#*8+83(88)5*+;46(;88*96*?;8)*#(;485);5*+2:*#(;4956*2(5*-4)8¶8*;4069285);)6+8)4##;1(#9;48081;8:8#1;48+85;4)485+528806*81(#9;48;(88;4(#?34;48)4#;161;:188;#?;
Dacă s-ar rezolva acest cifru, s-ar vedea că Poe nu a atribuit simbolurile literelor într-o manieră ordonată cu A = 1, B = 2 etc. În acest fel, algoritmul de criptare este ceva mai complicat decât algoritm de schimbare a alfabetului. Dacă descoperiți o literă dintr-o schimbare alfabetică, atunci le puteți deriva cu ușurință pe toate. Cu algoritmul lui Poe, totuși, știind că A = 5, nu vă spune nimic despre B sau despre orice altă literă.
Algoritmii de criptare utilizați în aplicațiile moderne, cum ar fi securizarea tranzacțiilor cu cardul de credit pe internet, sunt mult mai complexi. Cheile pot avea o lungime de 256 de biți sau mai mult. Dacă vor fi sparte, va fi doar cu ajutorul computerelor. Dacă cineva ar obține cheia de cifrare, totuși, textul cifrat ar putea fi citit imediat.