1.2.11.4.4 CIPHER_Wrapper_AesCcmEncryptAndTag Function
C
int32_t CIPHER_Wrapper_AesCcmEncryptAndTag(uint8_t *data, uint32_t dataLen,
uint8_t *iv, uint32_t ivLen,
uint8_t *aad, uint32_t aadLen,
uint8_t *tag, uint32_t tagLen)
Summary
Performs AES-CCM authenticated encryption of a buffer.
Description
This function performs AES-CCM authenticated encryption of a buffer.
Precondition
Key must be set earlier with a call to CIPHER_Wrapper_AesCcmSetkey.
Parameters
Param | Description |
---|---|
data | Pointer to buffer holding the input plain data. The output ciphered data is stored in the same buffer |
dataLen | Length of the input/output data in bytes |
iv | Pointer to initialization vector (nonce) |
ivLen | Length of the nonce in bytes |
aad | Pointer to additional authentication data field |
aadLen | Length of additional authentication data in bytes |
tag | Pointer to buffer holding the authentication tag |
tagLen | Length of the authentication tag in bytes |
Returns
CIPHER_WRAPPER_RETURN_GOOD: Successful encryption.
Any other value: Error in the encryption.
Example
int32_t ret;
uint8_t nonce[] = { some initialization nonce };
uint8_t data[] = { some plain message };
uint8_t aad[] = { some additional authentication data };
uint8_t tag[];
uint8_t key[16] = { some key };
ret = CIPHER_Wrapper_AesCcmSetkey(key);
ret = CIPHER_Wrapper_AesCcmEncryptAndTag(data, sizeof(data),
nonce, sizeof(nonce),
aad, sizeof(aad),
tag, sizeof(tag));
Remarks
None.