Kaj je šifrirni algoritem?

Šifriranje je znanost o tem, da besedilo postane neberljivo, da bi ga varno in na skrivaj posredovali želenemu prejemniku, ki uporablja ključ za dešifriranje sporočila. Algoritem šifriranja je definiran niz korakov za šifriranje podatkov. Izvirno besedilo se imenuje golo besedilo, potem ko se nanj uporabi algoritem šifriranja, pa se imenuje šifrirano besedilo. Algoritem šifriranja se lahko imenuje šifra in pogosto dobi ime. Na primer, obstaja en šifrirni algoritem z imenom Blowfish in drugi z imenom AES (Advanced Encryption Standard).

Algoritem šifriranja je lahko odvisen od substitucije, kot pri nadomestni šifri, ali transpozicije, kot pri transpozicijski šifri. Znani primeri zgodnjih šifr so se zanašali na preproste algoritme šifriranja. Julij Cezar je na primer uporabil šifro, ki je vključevala zamenjavo, pri kateri je črke abecede premaknil tako, da je bila A predstavljena z D, B je bila predstavljena z E itd. Ker je v abecedi 26 črk, je mogoče ustvariti 25 tovrstnih šifrov – 26. bi A nadomestilo A, kar ni zelo skrivnost. Ključ do te šifre si lahko predstavljamo kot število premaknjenih mest.

Ni pa nujno, da algoritem šifriranja uporablja črke. Kot nadomestke za črke lahko uporablja številke in druge simbole. V kratki zgodbi »The Gold Bug« je Edgar Allen Poe uporabil nadomestno šifro, v kateri šifrirni algoritem vključuje to vrsto zamenjave z uporabo simbolov.

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;#?;

Če bi rešili to šifro, bi videli, da Poe črkam ni dodelil simbolov na urejen način z A = 1, B = 2 itd. Na ta način je šifrirni algoritem nekoliko bolj zapleten kot algoritem za premikanje abecede. Če v premiku abecede ugotovite eno črko, jih lahko preprosto izpeljete vse. S Poejevim algoritmom pa vedo, da je A = 5, ne pove ničesar o B ali kateri koli drugi črki.
Algoritmi šifriranja, ki se uporabljajo v sodobnih aplikacijah, kot je zavarovanje transakcij s kreditnimi karticami na internetu, so veliko bolj zapleteni. Ključi so lahko dolgi do 256 bitov ali več. Če naj bi jih razbili, bo to le s pomočjo računalnikov. Če bi nekdo dobil šifrirni ključ, bi lahko šifrirano besedilo takoj prebral.