A Post-Quantum Cryptography safe algorithm. Deemed to be a sbustitution-permutation network. 128 bit Symmetric Block-Cipher.

  • The key is constructed out of 64 bits Takes a message and a key. The key can be 128bits, 192bits or 256bits.

Concepts

Attacks

Encryption Process

  1. Our input is split into 16-byte block, each block is converted into a Matrix
  2. Key Expansion: The 16-byte key segments is turned into number of Round Key which are also matrix
    1. if AES-128
    2. if AES-192
    3. if AES-256
  3. Set the current state to the 16-byte input matrix
  4. Repeat for rounds:
    1. AddRoundKey: XOR current state with current round key (Every cell of state, XORed with corresponding cell in round key)
    2. SubBytes: Convert every byte in the state matrix with a different byte in a 16x16 lookup table (S-Box)
    3. ShiftRows: ensures columns are encrypted dependently
      1. First row in matrix remains the same
      2. Second row shift one column left
      3. Third row shift two columns to left
      4. Fourth row shift three columns by left
    4. MixColumns: Matrix multiplication of a Rijndael Galois Field

Decryption Process

  1. Our input is split into 16-byte block, each block is converted into a Matrix
  2. Key Expansion: The 16-byte key segments is turned into number of Round Key which are also matrix
    1. if AES-128
    2. if AES-192
    3. if AES-256
  3. Set the current state to the 16-byte input matrix
  4. Repeat for rounds:
    1. Invert ShiftRows
    2. Inverse SubBytes
    3. AddRoundKey
    4. Invert MixColumns

Diagram