Know-how / Encryption

How does the Rijndael encryption algorithm work?

Also known by the abbreviation AES

Securely transmitting highly confidential information without giving unauthorized parties access has always been a challenge. Early “secret languages” – such as simple letter substitutions – are trivial to break with modern computing power. Today, we protect data with cryptographic methods, which are defined with mathematical precision and whose security has been publicly reviewed.

Such methods use a key, known only to the sender and recipient. Encryption and decryption follow an encryption algorithm – a clearly defined mathematical process.

Password Depot encrypts your confidential data using the Rijndael, which is standardized as AES (Advanced Encryption Standard).

Below, we explain the algorithm and place it in its technical context.

Advanced Encryption Standard (AES) – the standardized version of Rijndael

The U.S. National Bureau of Standards (now NIST) standardized DES in 1977, the DES; this standard was withdrawn in 2005withdrawn, because it was no longer sufficiently secure (NIST announcement). In 2001, NIST selected Rijndael and standardized it as the Advanced Encryption Standard (AES) (FIPS 197).

Important: AES is a subset of the Rijndael family. AES fixes the block size at 128 bits and allows keys of 128, 192, or 256 bits (NIST note, FIPS 197 (PDF)).

AES is approved for protecting U.S. government information up to the TOP SECRET level (see the CNSSP-15 Fact Sheet and the current NSA’s CNSA-2.0 FAQ).

How Rijndael/AES Works (Brief Overview)

Flow diagram of AES encryption: after AddRoundKey (round 0), a 128-bit plaintext block passes through 9, 11, or 13 main rounds of SubBytes, ShiftRows, MixColumns, and AddRoundKey depending on key length, followed by a final round without MixColumns; the key expansion supplies the round keys, and the result is the ciphertext.

Rijndael is a substitution-permutation network cipher. The core concepts are byte-level substitutions, linear transformations and XOR operations.

Process at the block level (128-bit “state”)

  • Key expansion (key schedule): The key is used to derive Nr + 1 round keys (e.g. 11 for AES-128, 13 for AES-192, 15 for AES-256). Source: FIPS 197.
  • Initial round: AddRoundKey – the plaintext block (as a 4×4-byte matrix) is XORed with the first round key.
  • Rounds 1 … Nr:
    • SubBytes: Each byte is substituted via an S-Box (multiplicative inverse in GF(28) plus affine transformation with constant 0x63). Source: FIPS 197.
    • ShiftRows: Rows of the state matrix are shifted cyclically.
    • MixColumns: Columns are mixed by matrix multiplication over GF(28).
    • AddRoundKey: XOR with the respective round key.

Note: In the final round MixColumns is omitted. The number of rounds is 10/12/14 for keys of 128/192/256 bits (FIPS 197).

AES can be implemented in software, firmware, or hardware (FIPS 197). For practical use, Modes of operation are used, e.g. CBC, CTR or GCM (authenticated encryption). Recommendations can be found in NIST SP 800–38A and NIST SP 800–38D (GCM/GMAC).

Important for context: AES is a symmetric cipher for data encryption. Key exchange is typically handled using asymmetric methods ((EC)DH/RSA). However, AES can securely wrap keys (“key wrap”) – see NIST SP 800–38F.

Official specification

You can find the reference here: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf

Brute-force attacks

Brute-force means that an attacker all possible keys. Traditional methods such as DES with only 56-bit keys can now be broken in practice – NIST therefore officially withdrew it (NIST).

Modern methods such as AES with 128/192/256-bit keys, on the other hand, have an astronomically large key space. In practice, what matters less is the algorithm than the key derivation from passwords and the quality of the master password.

Password Depot also makes brute-force attacks more difficult through a delay function: After an incorrect entry of the master password, the program remains locked for a few seconds.

Conclusion: With correct implementation, suitable modes of operation (e.g. GCM), and sufficient key length, AES is currently considered secure for the very long term.

More about brute-force attacks.

Understanding brute-force attacks

Learn why password length matters and how to protect yourself.

More about brute-force attacks