Cipher

In cryptography, a cipher is an algorithm that can encrypt plaintext to make it unreadable, and to decrypt the encoded data back to plaintext again.

Ciphers were common long before the information age (e.g., substitution ciphers, transposition ciphers, and permutation ciphers), but none of them were cryptographically secure except for the one-time pad.

In the modern age, ciphers have evloved dramatically. AES, RSA and Blowfish are examples of ciphers that are integral part of contemporary encryption standards and systems.

Modern ciphers are designed to withstand attacks discovered through cryptanalysis. There is no guarantee that all attack methods have been discovered, so each algorithm is recommended for different purposes based on known classes of attacks.

Ciphers operate either as block ciphers on successive blocks (or buffers) of data, or as stream ciphers on a continuous data flow (often of sound or video).

Ciphers are also classified according to how their keys are handled:

  • symmetric key algorithms use the same key to encode and decode a message. The key also must be sent securely if the message is to stay confidential.
  • asymmetric key algorithms use one key for encryption and the other for decryption.

See also