The AES_plus_Serpent_in_CBC_mode_for_microcontrollers repository contains code that enables you to encrypt your data using a combination of AES and Serpent encryption algorithms in CBC mode. In addition to that, the code in this repository enables you to verify the data integrity, thanks to the HMAC-SHA256.
Attention! I didn't develop the libraries utilized by these sketches. I took them from the following repositories:
https://github.com/zhouyangchao/AES
https://github.com/peterferrie/serpent
https://github.com/intrbiz/arduino-crypto
All libraries are the properties of their respective owners.
Licenses from the used libraries are inside of the "LICENSES" directory.
*Note that the library with the implementation of AES was slightly modified to make it compatible with the STM32F407VET6.
GitHub repository: https://github.com/Northstrix/AES_plus_Serpent_in_CBC_mode_for_microcontrollers
Features
- AES
- Serpent
- HMAC-SHA256
- Encryption
- Decryption
- Integrity Verification
- Block Cipher
- CBC mode