rweather / arduinolibs

Arduino Cryptography Library
441 stars 212 forks source link

Arduino Cryptography Library

This distribution contains a libraries and example applications to perform cryptography operations on Arduino devices. They are distributed under the terms of the MIT license.

The documentation contains more information on the libraries and examples.

This repository used to contain a number of other examples and libraries for other areas of Arduino functionality but most users are only interested in the cryptography code. The other projects have been moved to a separate repository and only the cryptography code remains in this repository.

For more information on these libraries, to report bugs, or to suggest improvements, please contact the author Rhys Weatherley via email.

Recent significant changes to the library

Apr 2023:

Brad Bock contributed a RNG back end for newer AVR chips that uses Custom Configurable Logic (CCL) to generate an unstable clock source instead of using the CPU watchdog as on older AVR chips.

Feb 2023:

NIST has selected ASCON as the winner of the Lightweight Cryptography Competition. This repository has an older implementation of ASCON-128 which should be compatible with the final winning version. Let me know if you have any issues.

The winning version has additional AEAD cipher and hashing modes that this repository does not implement yet. However, my companion repository ASCON Suite does implement all of the additional modes.

NIST is in the process of finalising the standard. Once the standard is published, I will move Ascon128 from CryptoLW to Crypto and implement the extra modes in this repository. In the meantime, please use ASCON Suite if you need support for ASCON in your Arduino project.

Mar 2022:

Jan 2022:

Apr 2018:

Nov 2017: