Simple AES library written in Rust for self-educational purposes.
Made with the goal of being straightforward at the cost of performance (e.g., keys are expanded on every encryption or decryption for the AES cipher).
Mode of operation support status:
128 | 192 | 256 | |
---|---|---|---|
AES | ✅ | ✅ | ✅ |
AES-ECB | ✅ | ✅ | ✅ |
AES-CBC | ✅ | ✅ | ✅ |
AES-CTR | ❌ | ❌ | ❌ |
AES-CCM | ❌ | ❌ | ❌ |
AES-GCM | ❌ | ❌ | ❌ |
AES-GCM-SIV | ❌ | ❌ | ❌ |
CMAC-AES | ❌ | ❌ | ❌ |
Autogenerated documentation can be found
Simply a standard rust enviornment. Tested locally on x86.
cargo build
To run all tests use:
cargo test
To run a specific test use:
cargo test TESTNAME
Status of tests run for every commit: