Cipher codes, at their most basic level, are methods and tools for encrypting various types of data. It is important to note that cipher codes differ from the more commonly-known code, in that code uses a predetermined series of words or numbers to transmit short messages or orders. Conversely, cipher codes transpose or replace the actual lettering and data with data determined by a certain algorithm. For example, when the Japanese launched their attack on Pearl Harbor in 1941, the code phrase they used to signal the attack was, "Climb mount Nitaka." Had the Japanese commander used cipher codes, the message may have resembled something akin to "A1XT3 11-3sD 22XD."
The origin of the word cipher comes from the Latin word sifra as well as from the Arabic word sifr, both meaning "zero." How these words came to be associated with cryptology and cipher codes in general is not known. Historians have speculated that since the concept of zero was such a foreign and confusing idea to medieval Europeans, whenever it was mentioned in conversation it was akin to concealing the true meaning of the message in a confusing concept. Other origin theories suggest that because zero was an Arabic number, the more conservative of European Catholics equated it with dark secrets.
Cipher codes come in all manner of complexity. The simplest of them was once readily available in a cereal box. Decoder rings, popular throughout much of the 1950s and '60s, offered a simple transposition cipher where the rings were used to replace one letter of the alphabet with either a letter or a number. This allowed children to send secret messages to their friends, who also had the decoder rings.
On the other end of the spectrum, however, is military-grade encryption that use computer-created algorithms to create ciphers of such complexity that often the only way to decipher them is through the use of a key. A cipher key contains the algorithm used to create the corresponding cipher code. When used in conjunction with encrypted data, they key will decrypt the data and make it usable once again.