Provides AEAD related functionality through nrf_crypto.
More...
|
|
|
#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 */
|
|
|
|
|
|
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)
|
|
|
|
|
|
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
}
|
|
|
Provides AEAD related functionality through nrf_crypto.