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_aes_256 to your USEMODULE-List. While you can use the ciphers functions directly, you should resort to the generic API for block ciphers whenever possible.
Depending on the selected block ciphers, a sufficient large buffer size of the cipher_context_t is used for en-/de-cryption operations.
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. |
|Microchip CryptoAuthentication Library|
|Provides the library for Microchip CryptoAuth devices. |
|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. |