Skip to content

AES Anatomy

FIPS 197 · GF(2⁸) · Key Expansion · Inverse Cipher

Build AES from byte arithmetic up — S-box, ShiftRows, MixColumns, key expansion and decryption — then break deliberately weakened variants and run a bounded AES-128 differential fault recovery, then show how accepted-output selection can still leak under a statistical ineffective-fault model.

Inspectable teaching code, not production cryptography or a constant-time implementation. Deliberately broken variants are opt-in and affect only the data path.

Where this lesson stops

Sources: FIPS 197-upd1 (2023), §§3–5, Tables 4 and 6, Appendices A and B; FIPS 197 (2001) Appendix C vectors. The latter is the historical edition; the algorithm is unchanged by the 2023 editorial update. Fault-analysis sources: Dobraunig et al., SIFA (2018/071) and Daemen et al., Protecting against SIFA (2019/536).