diff options
-rw-r--r-- | README.md | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -1,15 +1,16 @@ -### Tiny AES128 in C +### Tiny AES in C This is a small and portable implementation of the AES128 ECB and CBC encryption algorithms written in C. The API is very simple and looks like this (I am using C99 `<stdint.h>`-style annotated types): ```C -void AES128_ECB_encrypt(uint8_t* input, const uint8_t* key, uint8_t* output); -void AES128_ECB_decrypt(uint8_t* input, const uint8_t* key, uint8_t* output); -void AES128_CBC_encrypt_buffer(uint8_t* output, uint8_t* input, uint32_t length, const uint8_t* key, const uint8_t* iv); -void AES128_CBC_decrypt_buffer(uint8_t* output, uint8_t* input, uint32_t length, const uint8_t* key, const uint8_t* iv); +void AES_ECB_encrypt(uint8_t* input, const uint8_t* key, uint8_t* output); +void AES_ECB_decrypt(uint8_t* input, const uint8_t* key, uint8_t* output); +void AES_CBC_encrypt_buffer(uint8_t* output, uint8_t* input, uint32_t length, const uint8_t* key, const uint8_t* iv); +void AES_CBC_decrypt_buffer(uint8_t* output, uint8_t* input, uint32_t length, const uint8_t* key, const uint8_t* iv); ``` +You can choose to use the standard 128b key or 192 by defining AES192 or 256b by defining AES256 - beta You can choose to use one or both of the modes-of-operation, by defining the symbols CBC and ECB. See the header file for clarification. @@ -61,5 +62,3 @@ This implementation is verified against the data in: All material in this repository is in the public domain. - -I am a bit slow to react to pull requests and issues, but I have an ambition to go through all issues sometime in the future and release an API-stable version. |