AEAD related functions

nRF5 SDK v15.0.0

Provides AEAD related functionality through nrf_crypto. More...

Macros

#define NRF_CRYPTO_AEAD_INIT_MAGIC_VALUE (0x44414541)
#define NRF_CRYPTO_AES_CCM_STAR_MAC_BITMASK (0x1C) /* [0, 4, 8, 16] allowed MAC size in CCM mode */
#define NRF_CRYPTO_AES_CCM_MAC_MIN (4u) /* MAC min value in CCM mode */
#define NRF_CRYPTO_AES_CCM_MAC_MAX (16u) /* MAC max value in CCM mode */
#define NRF_CRYPTO_AES_GCM_MAC_MIN (4u) /* MAC min value in GCM mode */
#define NRF_CRYPTO_AES_GCM_MAC_MAX (16u) /* MAC max value in GCM mode */
#define NRF_CRYPTO_AES_CCM_NONCE_SIZE_MIN (7u) /* [7...13] allowed nonce size in CCM mode */
#define NRF_CRYPTO_AES_CCM_NONCE_SIZE_MAX (13u) /* [7...13] allowed nonce size in CCM mode */
#define NRF_CRYPTO_AES_CCM_STAR_NONCE_SIZE (13u) /* [13] allowed nonce size in CCM* mode */
#define NRF_CRYPTO_CHACHA_POLY_NONCE_SIZE (12u) /* [12] allowed nonce size in chacha-poly mode */
#define NRF_CRYPTO_CHACHA_POLY_MAC_SIZE (16u) /* [16] allowed MAC size in chacha-poly mode */

Typedefs

typedef ret_code_t (* aead_init_fn_t )(void *const p_context, uint8_t *p_key)
typedef ret_code_t (* aead_uninit_fn_t )(void *const p_context)
typedef ret_code_t (* aead_crypt_fn_t )(void *const p_context, nrf_crypto_operation_t operation, uint8_t *p_nonce, uint8_t nonce_size, uint8_t *p_adata, size_t adata_size, uint8_t *p_data_in, size_t data_in_size, uint8_t *p_data_out, uint8_t *p_mac, uint8_t mac_size)

Enumerations

enum nrf_crypto_aead_mode_t {
NRF_CRYPTO_AEAD_MODE_AES_CCM ,
NRF_CRYPTO_AEAD_MODE_AES_CCM_STAR ,
NRF_CRYPTO_AEAD_MODE_AES_EAX ,
NRF_CRYPTO_AEAD_MODE_AES_GCM ,
NRF_CRYPTO_AEAD_MODE_CHACHA_POLY
}

Detailed Description

Provides AEAD related functionality through nrf_crypto.