AES Flashcards
What does AES stands for?
Advanced Encryption Standard
Which algorithm does AES use?
Rijndael
Which are the main characteristics of the AES algorithm?
clean, fast, good security margin
What are the available key sizes on AES?
128, 192, or 256 bit
Which are the possible block size?
128, 192, or 256 bit
In which matrix does the AES operates on?
For 128 bits, State[4,4] and key[4,4] matrix
How many rounds does AES uses?
10 (for block and key size of 128 bit)
What happens in each of the AES rounds?
round 1-9: make use of four different operations:
- Byte substitution
- Shift row
- MixColumn
- Round Key
round 10 (the last round)
- do not perform the mix column operation, all the rest is the same
How does the subByte step work?
Each byte of the state matrix is divided in 4 bits each (the upper and the lower part). Then, we look into the line (upper part) and row (lower part) in the substitution matrix.
How does the shift row step work?
After the subbyte step, for each line of the state matrix we left shift them by the number of bytes corresponding to the row number. So the row 0 remains the same, the row 1 is shifted once, the second row is left shifted twice and so on.
How does the MixColumn step work?
After the shift row step, each column of the state matrix is multiplied by another matrix to increase the diffusion.
How does the Round Key step work?
Each column of the state matrix after the mix column step is XORED with the subkey generated on the key scheduling step.
How does the key scheduling step work?
The first key matrix to be used is the given key. To generate the next 16 bytes, we rotate the fourth matrix column by one position (up) and we perform a substitution using the s-box provided. Then, we XOR this result with the first column and the corresponding rcon. This result will be the next first key matrix column. The next ones are just the XOR of the previous column with the previous -3 column. For 10 steps, we need to generate 10 subkeys.
Which are the main AES algorithm decryption characteristic?
1) AES is invertible:
- S is bijective
- shifting as a permutation too
- Matrix for mix columns has an inverse XORING the key is bijective
2) AES is not a Feistel network and in fact the decryption is different from the encryption process.
Discuss about security of AES
Key recovery attacks are faster than brute force by a factor of about four. Successful side channel attacks have been reported (in particular cache timing attacks)