Šifrirani kodovi, na svojoj najosnovnijoj razini, su metode i alati za šifriranje različitih vrsta podataka. Važno je napomenuti da se šifrirani kodovi razlikuju od poznatijeg koda, jer kod koristi unaprijed određeni niz riječi ili brojeva za prijenos kratkih poruka ili naredbi. Suprotno tome, šifrirani kodovi transponiraju ili zamjenjuju stvarna slova i podatke podacima određenim određenim algoritmom. Na primjer, kada su Japanci započeli napad na Pearl Harbor 1941., kodna fraza koju su upotrijebili za signaliziranje napada bila je “Popni se na Nitaka”. Da je japanski zapovjednik koristio šifrirane kodove, poruka bi mogla nalikovati nečemu sličnom “A1XT3 11-3sD 22XD.”
Podrijetlo riječi šifra dolazi od latinske riječi sifra kao i od arapske riječi sifr, a obje znače “nula”. Kako su se ove riječi povezale s kriptologijom i šifriranim kodovima općenito, nije poznato. Povjesničari su nagađali da je koncept nule bio toliko strana i zbunjujuća ideja srednjovjekovnim Europljanima, kad god bi se spominjao u razgovoru, to je bilo slično skrivanju pravog značenja poruke u zbunjujućem konceptu. Druge teorije o podrijetlu sugeriraju da su ga konzervativniji europski katolici, budući da je nula bila arapski broj, izjednačavali s mračnim tajnama.
Šifrirani kodovi dolaze u svim vrstama složenosti. Najjednostavniji od njih nekoć je bio dostupan u kutiji za žitarice. Prstenovi dekodera, popularni tijekom većeg dijela 1950-ih i 60-ih, nudili su jednostavnu transpozicijsku šifru gdje su se prstenovi koristili za zamjenu jednog slova abecede slovom ili brojem. To je omogućilo djeci da šalju tajne poruke svojim prijateljima, koji su također imali prstenove za dekodere.
S druge strane spektra, međutim, nalazi se vojno šifriranje koje koristi računalno stvorene algoritme za stvaranje šifri takve složenosti da je često jedini način za njihovo dešifriranje korištenjem ključa. Ključ šifre sadrži algoritam koji se koristi za stvaranje odgovarajućeg šifriranog koda. Kada se koriste u kombinaciji s šifriranim podacima, njihov ključ će dešifrirati podatke i ponovno ih učiniti upotrebljivim.