MCUX CLNS MCUX Crypto Library Normal Secure |

Data Structures | Macros | Functions
mcuxClCss_Aead.h File Reference

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

`#include <mcuxClCss_Common.h>`

Go to the source code of this file.

## Data Structures

union | mcuxClCss_AeadOption_t
| Command option bit field for mcuxClCss_Aead_Init_Async, mcuxClCss_Aead_UpdateAad_Async, mcuxClCss_Aead_UpdateData_Async and mcuxClCss_Aead_Finalize_Async. More...

## Macros

#define | MCUXCLCSS_AEAD_ENCRYPT
| Set mcuxClCss_AeadOption_t.dcrpt to this value to encrypt data. More...
#define | MCUXCLCSS_AEAD_DECRYPT
| Set mcuxClCss_AeadOption_t.dcrpt to this value to decrypt data. More...
#define | MCUXCLCSS_AEAD_STATE_IN_DISABLE
| Set mcuxClCss_AeadOption_t.acpsie to this value to load the GCM state from CSSv2. More...
#define | MCUXCLCSS_AEAD_STATE_IN_ENABLE
| Set mcuxClCss_AeadOption_t.acpsie to this value to load the GCM state from the context. More...
#define | MCUXCLCSS_AEAD_LASTINIT_TRUE
| Set mcuxClCss_AeadOption_t.lastinit to this value if this is the last call to init. More...
#define | MCUXCLCSS_AEAD_LASTINIT_FALSE
| Set mcuxClCss_AeadOption_t.lastinit to this value if this is not the last call to init. More...
#define | MCUXCLCSS_AEAD_EXTERN_KEY
| Set mcuxClCss_AeadOption_t.extkey to this value to use an external key. More...
#define | MCUXCLCSS_AEAD_INTERN_KEY
| Set mcuxClCss_AeadOption_t.extkey to this value to use a key from the CSS keystore. More...
#define | MCUXCLCSS_AEAD_IV_BLOCK_SIZE
#define | MCUXCLCSS_AEAD_AAD_BLOCK_SIZE
| AES-GCM AAD Granularity: 128 bit (16 bytes) More...
#define | MCUXCLCSS_AEAD_CONTEXT_SIZE
| context size: 512 bit (64 bytes) + 16 bytes for finalize More...

## Functions

MCUXCLCSS_API mcuxClCss_Status_Protected_t | mcuxClCss_Aead_Init_Async (mcuxClCss_AeadOption_t options, mcuxClCss_KeyIndex_t keyIdx, uint8_t const *pKey, size_t keyLength, uint8_t const *pIV, size_t ivLength, uint8_t *pAeadCtx)
| AES-GCM initialization. More...
MCUXCLCSS_API mcuxClCss_Status_Protected_t | mcuxClCss_Aead_PartialInit_Async (mcuxClCss_AeadOption_t options, mcuxClCss_KeyIndex_t keyIdx, uint8_t const *pKey, size_t keyLength, uint8_t const *pIV, size_t ivLength, uint8_t *pAeadCtx)
| AES-GCM partial initialization. More...
MCUXCLCSS_API mcuxClCss_Status_Protected_t | mcuxClCss_Aead_UpdateAad_Async (mcuxClCss_AeadOption_t options, mcuxClCss_KeyIndex_t keyIdx, uint8_t const *pKey, size_t keyLength, uint8_t const *pAad, size_t aadLength, uint8_t *pAeadCtx)
| AES-GCM update of the Additional Authenticated Data (AAD) More...
MCUXCLCSS_API mcuxClCss_Status_Protected_t | mcuxClCss_Aead_UpdateData_Async (mcuxClCss_AeadOption_t options, mcuxClCss_KeyIndex_t keyIdx, uint8_t const *pKey, size_t keyLength, uint8_t const *pInput, size_t inputLength, uint8_t *pOutput, uint8_t *pAeadCtx)
| AES-GCM update of the encrypted data. More...
MCUXCLCSS_API mcuxClCss_Status_Protected_t | mcuxClCss_Aead_Finalize_Async (mcuxClCss_AeadOption_t options, mcuxClCss_KeyIndex_t keyIdx, uint8_t const *pKey, size_t keyLength, size_t aadLength, size_t dataLength, uint8_t *pTag, uint8_t *pAeadCtx)
| AES-GCM final encryption/decryption. More...

## Detailed Description

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

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