Kryptering är vetenskapen att göra en text oläslig för att skicka den säkert och i hemlighet till den avsedda mottagaren, som använder en nyckel för att dekryptera meddelandet. En krypteringsalgoritm är en definierad serie steg för att kryptera data. Den ursprungliga texten hänvisas till som klartext, och efter att krypteringsalgoritmen har tillämpats på den kallas den för chiffertext. Krypteringsalgoritmen kan kallas ett chiffer och får ofta ett namn. Till exempel finns det en krypteringsalgoritm som heter Blowfish och en annan som heter AES (Advanced Encryption Standard), till exempel.
En krypteringsalgoritm kan bero på substitution, som i ett substitutionschiffer, eller transponering, som i ett transpositionschiffer. Exempel på tidiga chiffer som är kända förlitade sig på enkla krypteringsalgoritmer. Till exempel använde Julius Caesar ett chiffer som involverade substitution där han flyttade bokstäverna i alfabetet så att ett A representerades av ett D, ett B representerades av ett E, och så vidare. Eftersom det finns 26 bokstäver i alfabetet kan 25 chiffer av detta slag skapas – den 26:e skulle ha A ersätter A, vilket inte är särskilt hemligt. Nyckeln till detta chiffer kan ses som antalet flyttade platser.
Det är dock inte nödvändigt för en krypteringsalgoritm att använda bokstäver. Den kan använda siffror och andra symboler som ersättning för bokstäver. I novellen ”The Gold Bug” använde Edgar Allen Poe ett substitutionschiffer där krypteringsalgoritmen involverar denna typ av substitution med hjälp av symboler.
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;#?;
Om man skulle lösa detta chiffer skulle man se att Poe inte tilldelade bokstäverna symbolerna på ett ordnat sätt med A = 1, B = 2, etc. På så sätt är krypteringsalgoritmen lite mer komplicerad än alfabetsskiftande algoritm. Om du räknar ut en bokstav i ett alfabetskifte kan du enkelt härleda dem alla. Med Poes algoritm, men att veta att A = 5, säger ingenting om B eller någon annan bokstav.
Krypteringsalgoritmerna som används i moderna applikationer, som att säkra kreditkortstransaktioner på Internet, är mycket mer komplexa. Nycklarna kan vara så långa som 256 bitar eller längre. Om de ska knäckas så blir det bara med hjälp av datorer. Om man skulle skaffa chiffernyckeln skulle dock chiffertexten kunna läsas omedelbart.