diff options
author | kokke <spam@rowdy.dk> | 2014-12-15 21:18:25 +0100 |
---|---|---|
committer | kokke <spam@rowdy.dk> | 2014-12-15 21:18:25 +0100 |
commit | 38b0f1135b248d2fefc92d66dc8a0e8dc9cb73b9 (patch) | |
tree | 396d1e9d38bafebe69e61a0779eb30739fa3792a | |
parent | Update aes_cbc.c (diff) | |
download | tiny-AES-c-38b0f1135b248d2fefc92d66dc8a0e8dc9cb73b9.tar tiny-AES-c-38b0f1135b248d2fefc92d66dc8a0e8dc9cb73b9.tar.gz tiny-AES-c-38b0f1135b248d2fefc92d66dc8a0e8dc9cb73b9.tar.bz2 tiny-AES-c-38b0f1135b248d2fefc92d66dc8a0e8dc9cb73b9.tar.lz tiny-AES-c-38b0f1135b248d2fefc92d66dc8a0e8dc9cb73b9.tar.xz tiny-AES-c-38b0f1135b248d2fefc92d66dc8a0e8dc9cb73b9.tar.zst tiny-AES-c-38b0f1135b248d2fefc92d66dc8a0e8dc9cb73b9.zip |
-rw-r--r-- | aes.h | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -3,7 +3,38 @@ #include <stdint.h> + +// #define the macros below to 1/0 to enable/disable the mode of operation. +// +// CBC enables AES128 encryption in CBC-mode of operation and handles 0-padding. +// ECB enables the basic ECB 16-byte block algorithm. Both can be enabled simultaneously. + +// The #ifndef-guard allows it to be configured before #include'ing or at compile time. +#ifndef CBC + #define CBC 1 +#endif + +#ifndef ECB + #define ECB 1 +#endif + + + +#if defined(ECB) && ECB + 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); +#endif // #if defined(ECB) && ECB + + +#if defined(CBC) && CBC + +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); + +#endif // #if defined(CBC) && CBC + + + #endif //_AES_H_ |