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

CSSv2 header for CMAC support. More...

#include <mcuxClCss_Common.h>

Go to the source code of this file.

Data Structures

union  mcuxClCss_CmacOption_t
 Command option bit field for mcuxClCss_Cmac_Async. More...
 

Macros

#define MCUXCLCSS_CMAC_KEY_SIZE_128
 Size of 128 bit CMAC key (16 bytes) More...
 
#define MCUXCLCSS_CMAC_KEY_SIZE_256
 Size of 256 bit CMAC key (32 bytes) More...
 
#define MCUXCLCSS_CMAC_EXTERNAL_KEY_ENABLE
 Set mcuxClCss_CmacOption_t.extkey to this value to use an external key. More...
 
#define MCUXCLCSS_CMAC_EXTERNAL_KEY_DISABLE
 Set mcuxClCss_CmacOption_t.extkey to this value to use a key from the CSSv2 keystore. More...
 
#define MCUXCLCSS_CMAC_INITIALIZE_DISABLE
 Set mcuxClCss_CmacOption_t.initialize to this value if the message chunk does not include the first block of the message. More...
 
#define MCUXCLCSS_CMAC_INITIALIZE_ENABLE
 Set mcuxClCss_CmacOption_t.initialize to this value if the message chunk includes the first block of the message. More...
 
#define MCUXCLCSS_CMAC_FINALIZE_DISABLE
 Set mcuxClCss_CmacOption_t.finalize to this value if the message chunk does not include the last block of the message. More...
 
#define MCUXCLCSS_CMAC_FINALIZE_ENABLE
 Set mcuxClCss_CmacOption_t.finalize to this value if the message chunk includes the last block of the message. More...
 
#define MCUXCLCSS_CMAC_STATE_IN_DISABLE
 Set mcuxClCss_CmacOption_t.sie to this value to use the CMAC state that is present inside CSS. More...
 
#define MCUXCLCSS_CMAC_STATE_IN_ENABLE
 Set mcuxClCss_CmacOption_t.sie to this value to import the CMAC state from memory. More...
 
#define MCUXCLCSS_CMAC_STATE_OUT_DISABLE
 Set mcuxClCss_CmacOption_t.soe to this value to keep the CMAC state inside CSS at the end of the command. More...
 
#define MCUXCLCSS_CMAC_STATE_OUT_ENABLE
 Set mcuxClCss_CmacOption_t.soe to this value to export the CMAC state to memory at the end of the command. More...
 
#define MCUXCLCSS_CMAC_OUT_SIZE
 

Functions

MCUXCLCSS_API mcuxClCss_Status_Protected_t mcuxClCss_Cmac_Async (mcuxClCss_CmacOption_t options, mcuxClCss_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

CSSv2 header for CMAC support.

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