https://github.com/davidbuchanan314/aes-playground
My experiments in understanding AES, Whitebox AES, and related attacks
https://github.com/davidbuchanan314/aes-playground
Last synced: 15 days ago
JSON representation
My experiments in understanding AES, Whitebox AES, and related attacks
- Host: GitHub
- URL: https://github.com/davidbuchanan314/aes-playground
- Owner: DavidBuchanan314
- License: mit
- Created: 2020-01-14T16:13:17.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-11T09:26:49.000Z (over 4 years ago)
- Last Synced: 2025-04-12T13:13:54.325Z (15 days ago)
- Language: Python
- Size: 11.7 KB
- Stars: 15
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AES Playground
My experiments in understanding AES, Whitebox AES, and related attacks.
See `textbook_aes.py` and the contents of the `aes/` subdirectory for an AES128
implementation, which maps as closely to the FIPS 197 spec as possible.### DISCLAIMER: This code is optimised for educational purposes. Do not use in a security context.
My goals are to:
- Implement textbook AES from first principles.
- Implement LUT-based AES.
- Try extracting keys from the LUTs.
- Replicate academic Whitebox AES implementations.
- Implement known attacks, from first principles.
- Invent/implement novel attacks! (can "Differential Fault Analysis Using Symbolic Execution" be applied to whitebox/LUT based implementations?)
# Resources
- AES: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard
- FIPS 197 (NIST AES Standard): https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf
- Useful debugging tool: https://www.cryptool.org/en/cto-highlights/aes
- Understanding Galois Fields: https://en.wikipedia.org/wiki/Finite_field_arithmetic
- "A Tutorial on White-box AES": https://eprint.iacr.org/2013/104.pdf
# "To Research" list:
- Algebraic Fault Analysis
- Differential Fault Analysis Using Symbolic Execution
- https://www.researchgate.net/publication/322089366_Differential_Fault_Analysis_Using_Symbolic_Execution
- https://hardwear.io/document/flip-a-bit-grab-a-key-hardwear-io-2017-v1-1.pdf