All three terms - decipher, decrypt, and decode - mean to convert ciphertext into the original, unencrypted plaintext. Decrypt is actually a generic term, covering both the other terms, that simply means to unscramble a message. The root prefix crypto is from the Greek kryptos, meaning hidden or secret.
Although decipher and decode are frequently used interchangeably, in the strictest sense, a distinction can be made between the two. Both terms refer to a system of encryption in which message data is replaced with other data to make it unreadable. The crucial difference between decipher and decode lies in the level of substitution used: in some security contexts, a message encrypted through the use of a cipher works with substitution at the level of letters; to decipher means to unscramble a message that uses substitution at the letter level. According to some accounts, Julius Caesar developed a cipher to encrypt messages so that they could be sent without fear that the messenger would betray him. Caesar replaced each letter in his message with the one three positions ahead of it in the alphabet, so that, for example, "A" became "D," "C" became "F" and so on. Only someone in possession of Caesar's encryption rule (or key) could read the message, by performing the opposite operation: substitute each letter with the one three positions before it in the alphabet. Caesar's encrypted message is an example of ciphertext and the unencrypted message an example of plaintext; the mathematical formula (shift by 3) used for encryption and decryption is a simple example of an algorithm.
In contexts where a distinction is made between decipher and decode, to decode means to unscramble a message in which text is transformed through the substitution of words or phrases, since, in this context, encoded messages are encrypted at the level of words or phrases.