Advanced Encryption Standard Flashcards
Lecture 9 (9 cards)
What are the key features of AES?
- Uses a symmetric block cipher
- Operates on 128 bit blocks
- Uses 128, 192 or 256 bit keys
- Uses 10, 12 or 14 rounds depending on key size
How does AES arrange its blocks?
It stores it within a state matrix, where each value in the matrix is 1 byte i.e. 8 bits
What are the 4 stages of AES?
SubBytes - Applies a non-linear S-Box to each byte in the matrix
ShiftRows - Cyclically shifts rows of the state to the left
MixColumns - Each column is treated as a polynomial over GF(2^8)
AddRoundKey - XORs each byte in the state with the corresponding byte of the round key
What does the SubBytes stage do in AES?
- Applies a non-linear S-Box to each byte in the matrix.
- The S-Box is based on multiplicative inverses in GF(2^8), where the inverse undergoes an affine transformation to produce the final S-Box
- Aims to introduce confusion to break linear relationships
What does the ShiftRows stage do in AES?
Cyclically shifts rows of the state to the left, which ensures diffusion across rows.
Each row shifts an additional byte along, corresponding to the row number e.g. Row 0 = no byte shift, Row 1 = 1 byte shift, Row 2 = 2 byte shift, Row 3 = 3 byte shift
What does the MixColumns stage do in AES?
- Each column is treated as a polynomial over GF(2^8)
- It is then multiplied by a fixed matrix (modulo an irreducible polynomial)
What does the stage AddRoundKey do in AES?
- XORs each byte in the state with the corresponding byte of the round key
- Integrates key material at every round
What are some of the key properties of the S-Box in AES?
- Has no fixed points
- Has no inverse fixed points
- Minimisation of the largest non-trivial correlation between linear combinations of input bits and linear combination of output bits
- Minimisation of the largest non-trivial value in the EXOR table
How does the Key Schedule work in AES?
It starts with the original key
Divides the key into 4-byte words
It then generates new words/keys using previous ones
Depending on the size of the AES, this could generate enough keys for 11, 12 or 14 rounds, corresponding to the three types of AES.