A good prerequisite to this would be understanding how DES works, and why it was broken, and what led to creation of AES.

AES, also known as Advanced Encryption Standard is a symmetric encryption algorithm based on Rjindael Cipher that won the NIST contest in 2001.

Based on Substitution-Permutation network, works on message size of 128, 192 and 256 bits.

Let’s talk about specific case of 128 bits:

  • Message is acted upon in matrix of bytes with 1 byte in each cell
  • Operates on binary field extension of
  • Round based cipher that vary on the basis of message length:
    • 128: 10 rounds
    • 192: 12 rounds
    • 256: 14 rounds

Let’s talk about the algorithm:

flowchart TB
m[128-bit]-->state
state-->ark[Add Round Key]
ark-->one
subgraph one[9, 11 or 13 rounds]
subBytes-->shiftRows
shiftRows-->mixCols
mixCols-->ark2[Add Round Key]
end
one-->two
subgraph two[final round]
subBytes2[subBytes]-->shiftRows2
shiftRows2[shiftRows]-->ark3[Add Round Key]
ark3-->stateInv
end
two-->c[128-bit]

Modes of Operation

  • ECB: Electronic codebook
  • CBC: Cipher Block Chaining
  • CFB: Cipher Feedback
  • OFB: Output Feedback
  • CTR: Counter Mode
  • GCM: Galois Counter Mode
  • EAX

CBC

GCM

Authenticated encryption with additional data (AEAD) modes

References