This is my "textbook" implementation of AES128, which follows the FIPS specification as closely as possible (in python): https://github.com/DavidBuchanan314/aes-playground
It also includes from-scratch Galois field arithmetic functions.
It also includes from-scratch Galois field arithmetic functions.