RIOT provides a collection of block cipher ciphers, different operation modes and cryptographic hash algorithms. More...
RIOT provides a collection of block cipher ciphers, different operation modes and cryptographic hash algorithms.
Riot supports the following block ciphers:
You can use them directly by adding "crypto" to your USEMODULE-List. While you can use the ciphers functions directly, you should resort to the generic API for block ciphers whenever possible.
Additionally you need to set a CFLAG for each cipher you want to use in your Makefile:
Some aspects of the AES implementation can be fine tuned by pseudo-modules:
If you need to encrypt data of arbitrary size take a look at the different operation modes like: CBC, CTR or CCM.
Additional examples can be found in the test suite.
|HACL High Assurance Cryptographic Library|
|Support for HACL* (High Assurance Cryptographic Library) |
|Lightweight ASN.1 decoding/encoding library|
|Lightweight ASN.1 decoding/encoding library. |
|Micro-ECC for RIOT|
|Micro-ECC for RIOT. |
|Relic toolkit for RIOT|
|Provides the Relic cryptographic toolkit to RIOT. |
|chacha20poly1305 AEAD cipher|
|Provides RFC 8439 style chacha20poly1305. |
|Poly1305 one-time message authentication code. |
|Headers for the implementation of the AES cipher-algorithm. |
|ChaCha stream cipher. |
|Headers for the packet encryption class. |
|helper functions for sys_crypto_modes |
|Cipher block chaining mode of operation for block ciphers. |
|Counter with CBC-MAC mode of operation for block ciphers. |
|Counter mode of operation for block ciphers. |
|Electronic code book mode of operation for block ciphers. |
|Offset Codebook (OCB3) AEAD mode as specified in RFC 7253. |