- Notifications
You must be signed in to change notification settings - Fork216
rweather/arduinolibs
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This distribution contains a libraries and example applications to performcryptography operations on Arduino devices. They are distributed under theterms of the MIT license.
Thedocumentationcontains more information on the libraries and examples.
This repository used to contain a number of other examples and librariesfor other areas of Arduino functionality but most users are only interestedin the cryptography code. The other projects have been moved to aseparaterepository andonly the cryptography code remains in this repository.
For more information on these libraries, to report bugs, or to suggestimprovements, please contact the author Rhys Weatherley viaemail.
Apr 2023:
Brad Bock contributed a RNG back end for newer AVR chips that usesCustom Configurable Logic (CCL) to generate an unstable clock sourceinstead of using the CPU watchdog as on older AVR chips.
Feb 2023:
NIST has selected ASCON as the winner of the Lightweight CryptographyCompetition. This repository has an older implementation of ASCON-128which should be compatible with the final winning version. Let me knowif you have any issues.
The winning version has additional AEAD cipher and hashing modes thatthis repository does not implement yet. However, my companion repositoryASCON Suite does implementall of the additional modes.
NIST is in the process of finalising the standard. Once the standard ispublished, I will move Ascon128 from CryptoLW to Crypto and implement theextra modes in this repository. In the meantime, please use ASCON Suite ifyou need support for ASCON in your Arduino project.
Mar 2022:
- HMAC-BLAKE2b and HMAC-BLAKE2s were giving incorrect results when themessage being authenticated was zero-length.
Jan 2022:
- All-in-one hmac() function in Hash.h for simplified HMAC computations.
- New API for the HKDF hash-based key derivation function.
- Make the ESP32 version of AES less dependent on include file locations.
Apr 2018:
- Acorn128 and Ascon128 authenticated ciphers (finalists in the CAESAR AEADcompetition in the light-weight category).
- Split the library into Crypto (core), CryptoLW (light-weight), andCryptoLegacy (deprecated algorithms).
- Tiny and small versions of AES for reducing memory requirements.
- Port the library to ESP8266 and ESP32.
- Make the RNG class more robust if the app doesn't call begin() or loop().
Nov 2017:
- Fix the AVR assembly version of Speck and speed it up a little.
- API improvements to the RNG class.