In cryptography, a cipher is an algorithm that can encode cleartext to make it unreadable, and to decode it back.
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.
Modern ciphers are designed to withstand attacks discovered by a cryptanalyst. There is no guarantee that all attack methods have been discovered, but each algorithm is judged against known classes of attacks.
Ciphers operate two ways, 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).
They also are classified according to how their keys are handled: