FIELD NOTE / 2026.09.123 MIN READ / 5 SOURCES

Rijndael, AES, and the Open Competition to Replace DES

NIST's Advanced Encryption Standard process invited public international competition to replace aging DES, ultimately selecting Joan Daemen and Vincent Rijmen's Rijndael as a fast, flexible, openly analyzed block cipher standard.

DES had become too small for the computing power of its successors

By the 1990s, the 56-bit key that once made DES practical was becoming vulnerable to exhaustive search, while computing and networking had spread encryption into many more applications. NIST concluded that a new standard was needed to replace the aging Data Encryption Standard.[2]

Rather than privately choosing a successor, NIST organized an open competition designed to expose candidate algorithms to broad international cryptanalysis.

Replacing a standard requires confidence in both the algorithm and the process

A cipher can be technically elegant yet fail as infrastructure if implementers distrust its origin or cannot analyze it. The AES process was designed to make evaluation itself public and repeatable.

NIST called for an unclassified royalty-free block cipher

The AES development process began with public requirements and a call for candidate algorithms supporting a 128-bit block and key sizes of 128, 192 and 256 bits. Fifteen submissions met the initial criteria.[5]

The candidates came from multiple countries and research teams, making the selection process an international cryptographic engineering exercise rather than a single-vendor standardization effort.

Public competition turned cryptanalysis into part of standardization

Researchers were encouraged to publish attacks, implementation measurements and design critiques. A candidate became stronger evidence for itself by surviving scrutiny, not by keeping its internal structure secret.

The field narrowed from fifteen candidates to five finalists

NIST organized multiple candidate conferences and collected public analysis before selecting five finalists for deeper evaluation. Its archived AES-development record documents the staged process and the eventual October 2000 selection of Rijndael.[1]

Evaluation included security, software and hardware performance, implementation characteristics and flexibility rather than relying on one benchmark.

A standard cipher must run well in very different environments

Encryption appears in servers, desktop software, embedded devices, smart cards and dedicated hardware. NIST therefore considered performance across platforms instead of optimizing for one processor generation.

Rijndael balanced security, performance and implementation simplicity

NIST’s historical account says Rijndael’s consistently good performance across software, hardware, firmware and smart-card implementations was an important factor in its selection.[4]

Designed by Joan Daemen and Vincent Rijmen, Rijndael uses a substitution-permutation structure rather than the Feistel structure associated with DES. The AES standard fixes a 128-bit block size while supporting three key lengths.

AES is a standardized subset of the broader Rijndael design family

The names are often used interchangeably, but Rijndael originally allowed additional block and key sizes. FIPS 197 specifies the variants selected for AES interoperability.

FIPS 197 turned the competition winner into a deployable standard

NIST published FIPS 197 in 2001, specifying AES-128, AES-192 and AES-256, each operating on 128-bit blocks.[2] The standard created a stable target for software libraries, processors, hardware accelerators and certification programs.

NIST’s approval announcement explicitly framed AES as the replacement for DES and described the public sequence of 15 candidates, five finalists and one selected algorithm.[3]

Validation infrastructure mattered after algorithm selection

Once AES became a standard, NIST’s Cryptographic Algorithm Validation Program could test implementations for conformance. This distinction is crucial: a secure algorithm can still be implemented incorrectly.

Standard test vectors and validation processes turned the specification into an engineering ecosystem rather than leaving each vendor to interpret the cipher independently.[1]

AES became a basic primitive rather than a complete security protocol

AES provides symmetric block encryption. Applications still need modes of operation, authentication, key generation, nonce management and protocol rules. Later authenticated-encryption constructions combine confidentiality and integrity around primitives such as AES.

This separation is historically important because modern security increasingly depends on composing narrow, well-analyzed primitives rather than treating one cipher as a complete system.

Why AES belongs in coding history

AES is significant not only because Rijndael became a durable cipher but because the selection process demonstrated an unusually open model for choosing foundational security infrastructure.[1][4]

Programmers inherited a fast, widely supported primitive whose trust came from years of public evaluation, standards documentation and implementation testing. That process became part of the standard’s technical legacy.

RESEARCH / PROVENANCE

Works Cited

5 SOURCES
  1. 01
  2. 02
  3. 03
  4. 04
  5. 05

CodeHistory is a living archive. Citations document the evidence used for this edition; later evidence may refine the account.

Contribute / Corrections

Improve the record.

Use this moderated submission form to suggest a correction, provide a source, challenge a priority claim or identify a missing contributor. Submissions are treated as research leads, not automatically published comments.

Submit a research lead

Please do not submit confidential material or claims you cannot support.