Written using the AES whitepaper, found here: https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.197.pdf