# AES Cipher Library (AES) Function List

### Basic API

AES_Init |  | Initializes the AES library.
AES_SetKey |  | Sets the key used for encryption/decryption.
AES_Ctr |  | Performs encryption/decryption in CTR mode.
AES_CtrEncrypt |  | Performs encryption/decryption in CTR mode.
AES_CtrDecrypt |  | Performs encryption/decryption in CTR mode.
AES_CcmEncryptAndSign |  | Encrypts and signs data in CCM mode.
AES_CcmDecryptAndVerify |  | Decrypts data and and verifies its signature in CCM mode.
AES_AddToCounter |  | Adds a numerical value to the counter.
AES_ReverseBytes |  | Copies a byte array one byte at a time in reverse order.
AES_SwapEndianEach128 |  | Copies a byte array one byte at a time, reversing the order of each 16-byte chunk.
AESCallback |  | Type of the callback function that is called when encryption or decryption completes.
AESKey |  | Union that stores an AES key.
AESCounter |  | Union that stores the initial counter value used in CTR mode.
AESNonce |  | Union that stores the nonce used in CCM mode.
AESResult |  | Enumerated type that indicates the result of an AES operation.
AESMac |  | Union that stores the MAC used in CCM mode.
AESMacLength |  | Enumerated type that specifies the length of the MAC used in CCM mode.

### High-Level API

AES_Rand |  | Generates a pseudo-random number using the AES algorithm.
AES_Encrypt |  | Uses the AES algorithm to encrypt data.
AES_Decrypt |  | Decrypts data that was encrypted using `AES_Encrypt`.
AES_EncryptAndSign |  | Uses the AES algorithm to encrypt and sign data.
AES_DecryptAndVerify |  | Decrypts and verifies the signature of data that was encrypted and signed using `AES_EncryptAndSign`.

CONFIDENTIAL