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