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

ELS header for CMAC support. More...

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

Go to the source code of this file.

Data Structures

union  mcuxClEls_CmacOption_t
 Command option bit field for mcuxClEls_Cmac_Async. More...
 

Macros

#define MCUXCLELS_CMAC_KEY_SIZE_128
 Size of 128 bit CMAC key (16 bytes) More...
 
#define MCUXCLELS_CMAC_KEY_SIZE_256
 Size of 256 bit CMAC key (32 bytes) More...
 
#define MCUXCLELS_CMAC_EXTERNAL_KEY_ENABLE
 Set mcuxClEls_CmacOption_t.extkey to this value to use an external key. More...
 
#define MCUXCLELS_CMAC_EXTERNAL_KEY_DISABLE
 Set mcuxClEls_CmacOption_t.extkey to this value to use a key from the ELS keystore. More...
 
#define MCUXCLELS_CMAC_INITIALIZE_DISABLE
 Set mcuxClEls_CmacOption_t.initialize to this value if the message chunk does not include the first block of the message. More...
 
#define MCUXCLELS_CMAC_INITIALIZE_ENABLE
 Set mcuxClEls_CmacOption_t.initialize to this value if the message chunk includes the first block of the message. More...
 
#define MCUXCLELS_CMAC_FINALIZE_DISABLE
 Set mcuxClEls_CmacOption_t.finalize to this value if the message chunk does not include the last block of the message. More...
 
#define MCUXCLELS_CMAC_FINALIZE_ENABLE
 Set mcuxClEls_CmacOption_t.finalize to this value if the message chunk includes the last block of the message. More...
 
#define MCUXCLELS_CMAC_OUT_SIZE
 

Functions

MCUXCLELS_API mcuxClEls_Status_t mcuxClEls_Cmac_Async (mcuxClEls_CmacOption_t options, mcuxClEls_KeyIndex_t keyIdx, uint8_t const *pKey, size_t keyLength, uint8_t const *pInput, size_t inputLength, uint8_t *pMac)
 Performs CMAC with AES-128 or AES-256. More...
 

Detailed Description

ELS header for CMAC support.

This header exposes functions that enable using the ELS for the generation of cipher-based message authentication codes (CMAC). The supported cipher algorithm is AES-128 and AES-256.