AES.mw
Introduction
Version, requirements and copyright
Initialization
GF(28)
The BitXor operation
The multiplication in GF(28)
The round constants
The SBox
The pseudo-random generator
AES operations
SubBytes and its inverse
ShiftRows and its inverse
MixColumns and its inverse
The Key Schedule
AddRoundKey
Low-level AES functions
The Rijndael rounds and the cipher and inverse cipher functions
Encrypting and decrypting lists of bytes
Initialization vectors
Padding
AES encryption and decryption functions
Key generation
File encryption and decryption
Text encryption and decryption
Encrypting and decrypting text files
Authentication
CMAC
Authenticated Encryption
CCM mode
GCM/GMAC mode
Validation tests
Displaying AES constants and tables
Known Answer Tests (KAT) and other AES Tests
AES (Pseudo-)Random Tests
CMAC Test
CCM Test
GCM Test
Diffusion tests
Conclusions
References