Commit 4358f241 authored by kokke's avatar kokke
Browse files

Update README.md

parent 29d9964f
### Tiny AES128 in C
This is a small portable implementation of AES128 in C. This is the smallest implementation in C I've seen yet, but if you find something smaller (or have improvements for the code in this project) please contact me or fork the project.
This is a small and portable implementation of the AES128 algorithm implemented in C.
The module uses just a bit more than 200 bytes of RAM and 1K ROM when compiled for ARM (YMMV).
It is the smallest implementation in C I've seen yet, but do contact me if you know of something smaller (or have improvements to the code here).
The code is tested on Intel 64bit, 32bit ARM Cortex-M3 and 8 bit Atmel Mega16.
The module uses just a bit more than 200 bytes of RAM and 1K ROM when compiled for ARM.
YMMV depending on target platform and optimization skills of your compiler.
I've successfully used the code on 64bit x86, 32bit ARM and 8 bit AVR platforms.
GCC size output when compiled for ARM:
......@@ -33,4 +33,5 @@ Somehow, -O2 is a bit smaller than -Os with this compiler. I am using Mentor Gra
The implementation is verified against the data in:
[National Institute of Standards and Technology Special Publication 800-38A 2001 ED](http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf) Appendix F: Example Vectors for Modes of Operation of the AES.
Note: AES128 ECB is symmetric, so you use the same function for encrypting and decrypting.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment