47 struct process *process)
50 uint32_t iv[AES_IV_LEN /
sizeof(uint32_t)];
59 rom_util_memset(iv, 0, AES_IV_LEN);
62 mdata, NULL, mdata_len, process);
68 uint32_t tag[AES_TAG_LEN /
sizeof(uint32_t)];
72 if(ret != CRYPTO_SUCCESS) {
78 if(rom_util_memcmp(tag, mac_in, CBC_MAC_MAC_LEN)) {
79 ret = AES_AUTHENTICATION_FAILED;
85 rom_util_memcpy(mac_out, tag, CBC_MAC_MAC_LEN);
#define AES_AES_CTRL_SAVE_CONTEXT
Auth.
uint8_t cbc_mac_auth_get_result(const void *mac_in, void *mac_out)
Gets the result of the CBC-MAC authentication operation.
uint8_t aes_auth_crypt_get_result(void *iv, void *tag)
Gets the result of the AES authentication/crypto operation.
#define AES_AES_CTRL_DIRECTION_ENCRYPT
Encrypt.
uint8_t aes_auth_crypt_start(uint32_t ctrl, uint8_t key_area, const void *iv, const void *adata, uint16_t adata_len, const void *data_in, void *data_out, uint16_t data_len, struct process *process)
Starts an AES authentication/crypto operation.
Header file for the cc2538 AES-CBC-MAC driver.
uint8_t cbc_mac_auth_start(uint8_t key_area, const void *mdata, uint16_t mdata_len, struct process *process)
Starts a CBC-MAC authentication operation.
#define AES_AES_CTRL_CBC_MAC
AES-CBC MAC mode.
Header file for the cc2538 ROM utility function library driver.