1.2.11.4.5 CIPHER_Wrapper_AesEaxEncrypt Function
C
int32_t CIPHER_Wrapper_AesEaxEncrypt(uint8_t *data, uint32_t dataLen,
uint8_t *iv, uint32_t ivLen,
uint8_t *aad, uint32_t aadLen,
uint8_t *tag, uint32_t tagLen
uint8_t *key)
Summary
Performs AES-EAX authenticated encryption of a buffer.
Description
This function performs AES-EAX encryption of a buffer and generates authentication tag. The size of the key is 16 bytes.
Precondition
None.
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 store the authentication tag |
tagLen | Length of the authentication tag in bytes |
key | Pointer to buffer holding the 16-byte key itself |
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_AesEaxEncrypt(data, sizeof(data),
nonce, sizeof(nonce),
aad, sizeof(aad),
tag, sizeof(tag),
key);
Remarks
None.