diff options
author | Matteo Brichese <matteo.brichese@wunderbar.com> | 2017-06-06 02:11:58 +0200 |
---|---|---|
committer | Matteo Brichese <matteo.brichese@wunderbar.com> | 2017-06-06 02:11:58 +0200 |
commit | 92c072c7480836ff661edce6f983eeea82559239 (patch) | |
tree | 85e834b1bb6092b5ef50c0a5497516d23af0895a | |
parent | adding Key Expansion for AES192 and AES256 (diff) | |
download | tiny-AES-c-92c072c7480836ff661edce6f983eeea82559239.tar tiny-AES-c-92c072c7480836ff661edce6f983eeea82559239.tar.gz tiny-AES-c-92c072c7480836ff661edce6f983eeea82559239.tar.bz2 tiny-AES-c-92c072c7480836ff661edce6f983eeea82559239.tar.lz tiny-AES-c-92c072c7480836ff661edce6f983eeea82559239.tar.xz tiny-AES-c-92c072c7480836ff661edce6f983eeea82559239.tar.zst tiny-AES-c-92c072c7480836ff661edce6f983eeea82559239.zip |
Diffstat (limited to '')
-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. |