AES spec reading
FIPS 197
NIST
Nov 26, 2001
Advanced Encryption Standard
aka Rijndael /ˈrɛindaːl/
a symmetric block cipher
1. Introduction
Rijndael algorithm, a symmetric block cipher
a block is 128 bits
using cipher keys of length: 128 bits, 192 bits, 256 bits
Rijndael was designed to handle additional block sizes and key sizes, but they are not adopted in AES
flavors of AES may be referred to as AES-128 AES-192 AES-256
2. Definitions
Glossary
AES - Advanced Encryption Standard
Affine transformation
Array
Bit
Block
Byte - 8 bits
Cipher
Cipher Key
Ciphertext
Inverse Cipher
Key Expansion - Routine to generate Round Keys from Cipher Key
Plaintext
Rijndael
Round Key
State
S-box
Word - 32 bits, 4 bytes
Algorithm parameter, symbold, and function
AddRoundKey()
InvMixColumns()
InvShiftRows()
InvSubBytes()
K - Cipher Key
MixColumns()
Nb - Number of columns in State, Nb = 4
Nk - Number of words in the Cipher key, Nk = 4, 6, 8
Nr - Number of rounds, Nr = 10, 12, 14
Rcon[] - Round constant word array
RotWord()
ShiftRows()
SubBytes()
SubWord()
XOR - exclusive or
⊕ - exclusive or
⊗ - multiplication of polynomials (of degree < 4) modulo x^4 + 1
● - finite field multiplication