CC26xx Driver Library
aes.c File Reference
#include "aes.h"

Functions

void AESSetInitializationVector (const uint32_t *initializationVector)
 Write the initialization vector (IV) to the crypto module. More...
 
void AESReadAuthenticationModeIV (uint32_t *iv)
 Read the initialization vector (IV) out from the crypto module for Authenticated Modes (CCM or GCM). More...
 
void AESReadNonAuthenticationModeIV (uint32_t *iv)
 Read the initialization vector (IV) out from the crypto module for Non-Authenticated Modes (CBC or CTR). More...
 
void AESStartDMAOperation (const uint8_t *channel0Addr, uint32_t channel0Length, uint8_t *channel1Addr, uint32_t channel1Length)
 Start a crypto DMA operation. More...
 
uint32_t AESWaitForIRQFlags (uint32_t irqFlags)
 Poll the interrupt status register and clear when done. More...
 
uint32_t AESWriteToKeyStore (const uint8_t *aesKey, uint32_t aesKeyLength, uint32_t keyStoreArea)
 Transfer a key from main memory to a key area within the key store. More...
 
uint32_t AESReadFromKeyStore (uint32_t keyStoreArea)
 Transfer a key from key store area to the internal buffers within the hardware module. More...
 
uint32_t AESReadTag (uint8_t *tag, uint32_t tagLength)
 Read the tag out from the crypto module. More...
 
uint32_t AESVerifyTag (const uint8_t *tag, uint32_t tagLength)
 Verifies the provided tag against calculated one. More...
 
void AESConfigureCCMCtrl (uint32_t nonceLength, uint32_t macLength, bool encrypt)
 Configure AES engine for CCM operation. More...
 
void AESWriteCCMInitializationVector (const uint8_t *nonce, uint32_t nonceLength)
 Generate and load the initialization vector for a CCM operation. More...
 
void AESWriteKey2 (const uint32_t *key2)
 Write the crypto module KEY2 registers. More...
 
void AESWriteKey3 (const uint32_t *key3)
 Write the crypto module KEY3 registers. More...
 
void AESClearDataIn (void)
 Clear the crypto module DATA_IN registers. More...
 
void AESWriteDataIn (const uint32_t *dataInBuffer)
 Write the crypto module DATA_IN registers. More...
 
void AESReadDataOut (uint32_t *dataOutBuffer)
 Read the crypto module DATA_OUT registers. More...
 
void AESClearKey2 (void)
 Clear the crypto module KEY2 registers. More...
 
void AESClearKey3 (void)
 Clear the crypto module KEY3 registers. More...
 
void AESReset (void)
 Reset the accelerator and cancel ongoing operations. More...
 
void AESDMAReset (void)
 Reset the accelerator DMA. More...