MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClEls_Aead.h File Reference

ELS header for Authenticated Encryption with Associated Data (AEAD). More...

#include <mcuxClConfig.h>
#include <mcuxClEls_Common.h>

Go to the source code of this file.

Data Structures

union  mcuxClEls_AeadOption_t
 Command option bit field for #mcuxClEls_Aead_Init_Async, #mcuxClEls_Aead_UpdateAad_Async, #mcuxClEls_Aead_UpdateData_Async and #mcuxClEls_Aead_Finalize_Async. More...
 

Macros

#define MCUXCLELS_AEAD_ENCRYPT
 Set mcuxClEls_AeadOption_t.dcrpt to this value to encrypt data. More...
 
#define MCUXCLELS_AEAD_DECRYPT
 Set mcuxClEls_AeadOption_t.dcrpt to this value to decrypt data. More...
 
#define MCUXCLELS_AEAD_STATE_IN_DISABLE
 Set mcuxClEls_AeadOption_t.acpsie to this value to load the GCM state from ELS. More...
 
#define MCUXCLELS_AEAD_STATE_IN_ENABLE
 Set mcuxClEls_AeadOption_t.acpsie to this value to load the GCM state from the context. More...
 
#define MCUXCLELS_AEAD_LASTINIT_TRUE
 Set mcuxClEls_AeadOption_t.lastinit to this value if this is the last call to init. More...
 
#define MCUXCLELS_AEAD_LASTINIT_FALSE
 Set mcuxClEls_AeadOption_t.lastinit to this value if this is not the last call to init. More...
 
#define MCUXCLELS_AEAD_EXTERN_KEY
 Set mcuxClEls_AeadOption_t.extkey to this value to use an external key. More...
 
#define MCUXCLELS_AEAD_INTERN_KEY
 Set mcuxClEls_AeadOption_t.extkey to this value to use a key from the ELS keystore. More...
 
#define MCUXCLELS_AEAD_ACPMOD_INIT
 Set mcuxClEls_AeadOption_t.acpmod to this value for Init mode. For internal use. More...
 
#define MCUXCLELS_AEAD_ACPMOD_AADPROC
 Set mcuxClEls_AeadOption_t.acpmod to this value for Process Additional Authenticated Data mode. For internal use. More...
 
#define MCUXCLELS_AEAD_ACPMOD_MSGPROC
 Set mcuxClEls_AeadOption_t.acpmod to this value for Process Message mode. For internal use. More...
 
#define MCUXCLELS_AEAD_ACPMOD_FINAL
 Set mcuxClEls_AeadOption_t.acpmod to this value for Finalize mode. For internal use. More...
 
#define MCUXCLELS_AEAD_STATE_OUT_ENABLE
 Set mcuxClEls_AeadOption_t.acpsoe to this value to save the state to the context. For internal use. More...
 
#define MCUXCLELS_AEAD_IV_BLOCK_SIZE
 
#define MCUXCLELS_AEAD_AAD_BLOCK_SIZE
 AES-GCM AAD Granularity: 128 bit (16 bytes) More...
 
#define MCUXCLELS_AEAD_TAG_SIZE
 tag size: Tag generation supports only a 128 bit wide tag (16 bytes) More...
 
#define MCUXCLELS_AEAD_CONTEXT_SIZE
 context size: 512 bit (64 bytes) + 16 bytes for finalize More...
 

Functions

MCUXCLELS_API MCUX_CSSL_FP_PROTECTED_TYPE (mcuxClEls_Status_t) mcuxClEls_Aead_Init_Async(mcuxClEls_AeadOption_t options
 AES-GCM initialization. More...
 

Variables

MCUXCLELS_API mcuxClEls_KeyIndex_t keyIdx
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const * pKey
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const size_t keyLength
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const size_t uint8_t const * pIV
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const size_t uint8_t const size_t ivLength
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const size_t uint8_t const size_t uint8_t * pAeadCtx
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const size_t uint8_t const * pAad
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const size_t uint8_t const size_t aadLength
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const size_t uint8_t const * pInput
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const size_t uint8_t const size_t inputLength
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const size_t uint8_t const size_t uint8_t * pOutput
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const size_t size_t size_t dataLength
 
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t const size_t size_t size_t uint8_t * pTag
 

Detailed Description

ELS header for Authenticated Encryption with Associated Data (AEAD).

This header exposes functions that enable using the ELS for Authenticated Encryption with Associated Data (AEAD). The AEAD algorithm supported by ELS is AES in Galois/Counter Mode (GCM), as described in NIST Special Publication 800-38D.