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.

Parameters

ParamDescription
dataPointer to buffer holding the input plain data. The output ciphered data is stored in the same buffer.
dataLenLength of the input/output data in bytes.
ivPointer to initialization vector (nonce).
ivLenLength of the nonce in bytes.
aadPointer to additional authentication data field.
aadLenLength of additional authentication data in bytes.
tagPointer to buffer holding the authentication tag.
tagLenLength 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.