777 #ifndef ti_drivers_AESCCM__include 778 #define ti_drivers_AESCCM__include 803 #define AESCCM_STATUS_RESERVED AES_STATUS_RESERVED 811 #define AESCCM_STATUS_SUCCESS AES_STATUS_SUCCESS 819 #define AESCCM_STATUS_ERROR AES_STATUS_ERROR 829 #define AESCCM_STATUS_RESOURCE_UNAVAILABLE AES_STATUS_RESOURCE_UNAVAILABLE 834 #define AESCCM_STATUS_CANCELED AES_STATUS_CANCELED 843 #define AESCCM_STATUS_MAC_INVALID AES_STATUS_MAC_INVALID 849 #define AESCCM_STATUS_FEATURE_NOT_SUPPORTED AES_STATUS_FEATURE_NOT_SUPPORTED 854 #define AESCCM_STATUS_KEYSTORE_INVALID_ID AES_STATUS_KEYSTORE_INVALID_ID 860 #define AESCCM_STATUS_KEYSTORE_GENERIC_ERROR AES_STATUS_KEYSTORE_GENERIC_ERROR 868 #define AESCCM_STATUS_UNALIGNED_IO_NOT_SUPPORTED AES_STATUS_UNALIGNED_IO_NOT_SUPPORTED 1133 int_fast16_t returnValue,
1251 size_t totalAADLength,
1252 size_t totalPlaintextLength,
1288 size_t totalAADLength,
1289 size_t totalPlaintextLength,
1319 int_fast16_t
AESCCM_setLengths(AESCCM_Handle handle,
size_t aadLength,
size_t plaintextLength,
size_t macLength);
1341 int_fast16_t
AESCCM_setNonce(AESCCM_Handle handle,
const uint8_t *nonce,
size_t nonceLength);
1367 int_fast16_t
AESCCM_generateNonce(AESCCM_Handle handle, uint8_t *nonce,
size_t nonceSize,
size_t *nonceLength);
int_fast16_t AESCCM_oneStepDecrypt(AESCCM_Handle handle, AESCCM_OneStepOperation *operationStruct)
Function to perform an AESCCM decryption + verification operation in one call.
uint8_t * output
Definition: AESCCM.h:1027
int_fast16_t AESCCM_generateNonce(AESCCM_Handle handle, uint8_t *nonce, size_t nonceSize, size_t *nonceLength)
Function to generate a nonce for an AES CCM segmented encryption operation.
ADC_Params params
Definition: Driver_Init.h:11
int_fast16_t AESCCM_finalizeDecrypt(AESCCM_Handle handle, AESCCM_SegmentedFinalizeOperation *operation)
Finalize the MAC and plaintext and verify it.
The CryptoKey type is an opaque representation of a cryptographic key.
uint8_t * aad
Definition: AESCCM.h:1004
Struct containing the parameters required for encrypting/decrypting a message in a segmented operatio...
Definition: AESCCM.h:1020
Struct containing the parameters required for finalizing an encryption/decryption and authentication/...
Definition: AESCCM.h:1045
uint8_t * output
Definition: AESCCM.h:1052
Definition: AESCCM.h:1108
Definition: AESCCM.h:1110
Struct containing the parameters required for encrypting/decrypting and authenticating/verifying a me...
Definition: AESCCM.h:943
void AESCCM_OneStepOperation_init(AESCCM_OneStepOperation *operationStruct)
Function to initialize an AESCCM_OneStepOperation struct to its defaults.
uint32_t timeout
Definition: AESCCM.h:1149
AESCCM_SegmentedDataOperation segmentedDataOperation
Definition: AESCCM.h:1094
void * custom
Definition: AESCCM.h:1152
uint8_t macLength
Definition: AESCCM.h:1070
Definition: AESCCM.h:1106
size_t inputLength
Definition: AESCCM.h:1033
AESCCM_Handle AESCCM_open(uint_least8_t index, const AESCCM_Params *params)
This function opens a given CCM peripheral.
const AESCCM_Params AESCCM_defaultParams
Default AESCCM_Params structure.
AES Global configuration.
Definition: AESCommon.h:154
AESCCM_SegmentedAADOperation segmentedAADOperation
Definition: AESCCM.h:1093
Definition: AESCCM.h:1105
int_fast16_t AESCCM_setupDecrypt(AESCCM_Handle handle, const CryptoKey *key, size_t totalAADLength, size_t totalPlaintextLength, size_t macLength)
Function to prepare a segmented AESCCM decryption operation.
CCM Parameters.
Definition: AESCCM.h:1145
CryptoKey datastructure.
Definition: CryptoKey.h:208
uint8_t nonceLength
Definition: AESCCM.h:983
uint8_t * mac
Definition: AESCCM.h:1058
int_fast16_t AESCCM_cancelOperation(AESCCM_Handle handle)
Cancels an ongoing AESCCM operation.
Definition: AESCommon.h:186
bool nonceInternallyGenerated
Definition: AESCCM.h:991
Definition: AESCommon.h:196
void AESCCM_SegmentedFinalizeOperation_init(AESCCM_SegmentedFinalizeOperation *operationStruct)
Function to initialize an AESCCM_SegmentedFinalizeOperation struct to its defaults.
int_fast16_t AESCCM_setLengths(AESCCM_Handle handle, size_t aadLength, size_t plaintextLength, size_t macLength)
Function to set the lengths of the message, additional data, and MAC.
void AESCCM_Params_init(AESCCM_Params *params)
Function to initialize the AESCCM_Params struct to its defaults.
Definition: AESCCM.h:1114
Struct containing the parameters required for authenticating/verifying additional data in a segmented...
Definition: AESCCM.h:1002
uint8_t * input
Definition: AESCCM.h:1047
int_fast16_t AESCCM_setNonce(AESCCM_Handle handle, const uint8_t *nonce, size_t nonceLength)
Function to set the nonce for an AES CCM segmented operation.
CryptoKey * key
Definition: AESCCM.h:945
size_t aadLength
Definition: AESCCM.h:972
size_t inputLength
Definition: AESCCM.h:977
size_t aadLength
Definition: AESCCM.h:1008
Definition: AESCommon.h:192
uint8_t * output
Definition: AESCCM.h:955
int_fast16_t AESCCM_setupEncrypt(AESCCM_Handle handle, const CryptoKey *key, size_t totalAADLength, size_t totalPlaintextLength, size_t macLength)
Function to prepare a segmented AESCCM encryption operation.
size_t inputLength
Definition: AESCCM.h:1064
union AESCCM_OperationUnion AESCCM_OperationUnion
Union containing a reference to a one step, segmented AAD, segmented data, or segmented finalize oper...
void(* AESCCM_CallbackFxn)(AESCCM_Handle handle, int_fast16_t returnValue, AESCCM_OperationUnion *operation, AESCCM_OperationType operationType)
The definition of a callback function used by the AESCCM driver when used in AESCCM_RETURN_BEHAVIOR_C...
Definition: AESCCM.h:1132
AESCCM_Handle AESCCM_construct(AESCCM_Config *config, const AESCCM_Params *params)
Constructs a new AESCCM object.
int_fast16_t AESCCM_oneStepEncrypt(AESCCM_Handle handle, AESCCM_OneStepOperation *operationStruct)
Function to perform an AESCCM encryption + authentication operation in one call.
Definition: AESCCM.h:1112
uint8_t * aad
Definition: AESCCM.h:946
AESCCM_ReturnBehavior returnBehavior
Definition: AESCCM.h:1147
void AESCCM_Operation_init(AESCCM_Operation *operationStruct)
Function to initialize an AESCCM_Operation struct to its defaults.
Union containing a reference to a one step, segmented AAD, segmented data, or segmented finalize oper...
Definition: AESCCM.h:1090
int_fast16_t AESCCM_addData(AESCCM_Handle handle, AESCCM_SegmentedDataOperation *operation)
Adds a segment of data with a length in bytes to the plaintext/ciphertext output and generated MAC...
void AESCCM_close(AESCCM_Handle handle)
Function to close a CCM peripheral specified by the CCM handle.
AESCCM_CallbackFxn callbackFxn
Definition: AESCCM.h:1148
Definition: AESCCM.h:1111
AESCCM_Mode
Enum for the direction of the CCM operation.
Definition: AESCCM.h:933
uint8_t * mac
Definition: AESCCM.h:966
AESCCM_OperationType
Enum for the operation types supported by the driver.
Definition: AESCCM.h:1102
AESCCM_Config * AESCCM_Handle
A handle that is returned from an AESCCM_open() call.
Definition: AESCCM.h:886
uint8_t * input
Definition: AESCCM.h:1022
AESCCM_ReturnBehavior
The way in which CCM function calls return after performing an encryption + authentication or decrypt...
Definition: AESCCM.h:909
void AESCCM_init(void)
This function initializes the CCM module.
Definition: AESCCM.h:1109
uint8_t macLength
Definition: AESCCM.h:986
int_fast16_t AESCCM_addAAD(AESCCM_Handle handle, AESCCM_SegmentedAADOperation *operation)
Adds a segment of aad with a length in bytes to the generated MAC. The length must be a multiple of a...
void AESCCM_SegmentedAADOperation_init(AESCCM_SegmentedAADOperation *operationStruct)
Function to initialize an AESCCM_SegmentedAADOperation struct to its defaults.
AES common module header for all devices.
uint8_t * input
Definition: AESCCM.h:950
AESCCM_SegmentedFinalizeOperation segmentedFinalizeOperation
Definition: AESCCM.h:1095
Definition: AESCCM.h:1113
AESCCM_OneStepOperation oneStepOperation
Definition: AESCCM.h:1092
Definition: AESCCM.h:1104
void AESCCM_SegmentedDataOperation_init(AESCCM_SegmentedDataOperation *operationStruct)
Function to initialize an AESCCM_SegmentedDataOperation struct to its defaults.
AESCommon_Config AESCCM_Config
AESCCM Global configuration.
Definition: AESCCM.h:881
uint8_t * nonce
Definition: AESCCM.h:961
AESCCM_OneStepOperation AESCCM_Operation
Definition: AESCCM.h:1084
int_fast16_t AESCCM_finalizeEncrypt(AESCCM_Handle handle, AESCCM_SegmentedFinalizeOperation *operation)
Finalize the MAC and ciphertext.