MCUX CLNS
MCUX Crypto Library Normal Secure
 
Loading...
Searching...
No Matches

Interfaces to perform MAC operations in one shot. More...

Functions

mcuxClMac_Status_t mcuxClMac_compute (mcuxClSession_Handle_t session, mcuxClKey_Handle_t key, mcuxClMac_Mode_t mode, mcuxCl_InputBuffer_t pIn, uint32_t inLength, mcuxCl_Buffer_t pMac, uint32_t *const pMacLength)
 One-shot message authentication code (MAC) computation function.
 

Detailed Description

Interfaces to perform MAC operations in one shot.

Function Documentation

◆ mcuxClMac_compute()

mcuxClMac_Status_t mcuxClMac_compute ( mcuxClSession_Handle_t  session,
mcuxClKey_Handle_t  key,
mcuxClMac_Mode_t  mode,
mcuxCl_InputBuffer_t  pIn,
uint32_t  inLength,
mcuxCl_Buffer_t  pMac,
uint32_t *const  pMacLength 
)

One-shot message authentication code (MAC) computation function.

This function performs a MAC computation in one shot. The algorithm to be used will be determined based on the key that is provided.

For example, to perform an AES MAC computation with a 128-bit key in CMAC mode on padded data, the following needs to be provided:

  • AES128 key
  • CMAC mode
  • Input data
  • Output data buffer, at least the size of a single AES block
Attention
In some cases restrictions may apply, e.g. the input buffer must be prepared for padding. Please refer to mcuxClMacModes_Modes.h to find further details and restrictions for each specific mode.
Parameters
[in]sessionHandle for the current CL session.
[in]keyKey to be used to authenticate the data.
[in]modeMode that should be used during the MAC operation.
[in]pInPointer to the input buffer that contains the data that needs to be authenticated.
[in]inLengthNumber of bytes of data in the pIn buffer.
[out]pMacPointer to the output buffer where the MAC needs to be written.
[out]pMacLengthWill be incremented by the number of bytes of data that have been written to the pMac buffer.
Returns
A code-flow protected error code (see Flow Protection API)
Return values
MCUXCLMAC_STATUS_OKMac operation successful
MCUXCLMAC_STATUS_ERRORError occurred during Mac operation
MCUXCLMAC_STATUS_INVALID_PARAMAn invalid parameter was given to the function
MCUXCLMAC_STATUS_FAULT_ATTACKFault attack detected
Examples
mcuxClMacModes_Els_Cmac_Aes128_Oneshot_Example.c.