Ciphers
What Are Ciphers?
Ciphers are algorithms that transform data between readable plaintext and an encoded form called ciphertext, using a key to control the transformation in a way that only authorized parties can reverse. The term covers both the encoding operation (encryption) and its inverse (decryption), and the discipline of designing and analyzing ciphers is a central branch of cryptography. Ciphers protect data in storage and in transit across virtually every digital communication system in operation today, from web browsers and messaging applications to financial networks and embedded industrial controllers.
The history of ciphers extends from simple substitution and transposition schemes used in antiquity through the mechanical rotor machines of the mid-twentieth century to the mathematically grounded algorithms that emerged from academic cryptography in the 1970s. Modern cipher design rests on the principle that a cipher's security should depend entirely on the secrecy of the key rather than on concealment of the algorithm itself, a principle articulated by Auguste Kerckhoffs in 1883 and reinforced by Claude Shannon's 1949 information-theoretic analysis of secrecy systems.
Symmetric Ciphers
Symmetric ciphers use the same key for both encryption and decryption, requiring that both parties share the key through a secure channel before communication begins. They fall into two structural families: block ciphers, which operate on fixed-size chunks of data (typically 128 bits), and stream ciphers, which generate a pseudorandom keystream and combine it with the plaintext bit by bit. The NIST Block Cipher Techniques project maintains the current set of approved block cipher standards: the Advanced Encryption Standard (AES), specified in FIPS 197 in 2001, is the primary approved algorithm, with Triple DES retained for legacy applications per NIST SP 800-67. AES operates on 128-bit blocks with key lengths of 128, 192, or 256 bits, and its selection through NIST's open competition process in 2001 established it as the global standard for symmetric encryption. Stream ciphers such as ChaCha20 offer performance advantages in software-only environments and are used in modern transport protocols.
Asymmetric and Public-Key Ciphers
Asymmetric ciphers use a mathematically related key pair: a public key for encryption and a private key for decryption. This structure eliminates the key-distribution problem inherent in symmetric systems, since the public key can be shared openly without compromising security. RSA, introduced by Rivest, Shamir, and Adleman in 1977, grounds its security in the computational difficulty of factoring large integers. Elliptic curve cryptography (ECC), formalized independently by Neal Koblitz and Victor Miller in 1985, achieves equivalent security to RSA with significantly shorter keys. A published NIST guidance document on cryptographic standards outlines the current approved algorithms for asymmetric operations, including RSA, digital signature standard (DSS), and elliptic curve Diffie-Hellman for key agreement. The advent of quantum computing has motivated NIST's post-quantum cryptography standardization program, which selected lattice-based and hash-based algorithms as replacements for existing asymmetric schemes.
Modes of Operation and Practical Deployment
Block ciphers are used in combination with modes of operation that define how the cipher is applied to messages longer than a single block. Electronic codebook mode, which encrypts each block independently, reveals patterns in structured data and is considered insecure for most applications. Counter mode (CTR), cipher block chaining (CBC), and authenticated encryption modes such as Galois/Counter Mode (GCM) address these weaknesses and are the standard choices in transport layer security (TLS), disk encryption, and storage protection. Practical deployments combine ciphers with key management systems and certificate infrastructure to address the broader challenge of establishing trust between communicating parties. The Cryptographic Algorithm Validation Program maintained by NIST provides a testing framework through which implementations of approved algorithms are validated before deployment in federal systems.
Applications
Ciphers have applications in a range of fields, including:
- Transport layer security (TLS) for encrypted web and API communications
- Disk and file encryption protecting data on mobile devices and laptops
- Secure messaging protocols including Signal and TLS-based email
- Payment systems and financial network communications
- Government and military classified communications and secure storage