A cipher (or cypher) is an algorithm for performing encryption (coding) or decryption (decoding). It is a series of well-defined steps that can be followed as a procedure. To encipher or encode is to convert information from plain text into cipher or code.
In non-technical usage, a 'cipher' often means the same thing as a 'code'; but in cryptography, ciphers are distinguished from codes. One 20th century source gives this explanation: a cipher is "a method in which the basic unit of concealment is the letter. In comparison, a code is a form of concealment in which the basic unit is the word". Late in the century, "codes" in this cryptographic sense became rare. 21st century cryptography mostly encrypts bitstreams.
Codes operated by substituting according to a large codebook which linked a random string of characters or numbers to a word or phrase. For example, "UQJHSE" could be the code for "Proceed to the following coordinates".
A cipher is used to turn the original information ("plaintext") to the encrypted form "ciphertext". The ciphertext message contains all the information of the plaintext message, but cannot be read by human or computer without the proper mechanism to decrypt it. To encipher or decipher, you need the "key". In encryption, a key specifies the particular transformation of plaintext into ciphertext, or vice versa during decryption.
By type of key used ciphers are divided into:
- symmetric key algorithms (private-key cryptography): the same key is used for encryption and decryption, and
- asymmetric key algorithms (public-key cryptography): two different keys are used for encryption and decryption.