704 #ifndef ti_drivers_AESCCM__include 705 #define ti_drivers_AESCCM__include 730 #define AESCCM_STATUS_RESERVED AES_STATUS_RESERVED 738 #define AESCCM_STATUS_SUCCESS AES_STATUS_SUCCESS 746 #define AESCCM_STATUS_ERROR AES_STATUS_ERROR 756 #define AESCCM_STATUS_RESOURCE_UNAVAILABLE AES_STATUS_RESOURCE_UNAVAILABLE 761 #define AESCCM_STATUS_CANCELED AES_STATUS_CANCELED 770 #define AESCCM_STATUS_MAC_INVALID AES_STATUS_MAC_INVALID 776 #define AESCCM_STATUS_FEATURE_NOT_SUPPORTED AES_STATUS_FEATURE_NOT_SUPPORTED 781 #define AESCCM_STATUS_KEYSTORE_INVALID_ID AES_STATUS_KEYSTORE_INVALID_ID 787 #define AESCCM_STATUS_KEYSTORE_GENERIC_ERROR AES_STATUS_KEYSTORE_GENERIC_ERROR 795 #define AESCCM_STATUS_UNALIGNED_IO_NOT_SUPPORTED AES_STATUS_UNALIGNED_IO_NOT_SUPPORTED 1060 int_fast16_t returnValue,
1178 size_t totalAADLength,
1179 size_t totalPlaintextLength,
1215 size_t totalAADLength,
1216 size_t totalPlaintextLength,
1246 int_fast16_t
AESCCM_setLengths(AESCCM_Handle handle,
size_t aadLength,
size_t plaintextLength,
size_t macLength);
1268 int_fast16_t
AESCCM_setNonce(AESCCM_Handle handle,
const uint8_t *nonce,
size_t nonceLength);
1294 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:954
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:931
Struct containing the parameters required for encrypting/decrypting a message in a segmented operatio...
Definition: AESCCM.h:947
Struct containing the parameters required for finalizing an encryption/decryption and authentication/...
Definition: AESCCM.h:972
uint8_t * output
Definition: AESCCM.h:979
Definition: AESCCM.h:1035
Definition: AESCCM.h:1037
Struct containing the parameters required for encrypting/decrypting and authenticating/verifying a me...
Definition: AESCCM.h:870
void AESCCM_OneStepOperation_init(AESCCM_OneStepOperation *operationStruct)
Function to initialize an AESCCM_OneStepOperation struct to its defaults.
uint32_t timeout
Definition: AESCCM.h:1076
AESCCM_SegmentedDataOperation segmentedDataOperation
Definition: AESCCM.h:1021
void * custom
Definition: AESCCM.h:1079
uint8_t macLength
Definition: AESCCM.h:997
Definition: AESCCM.h:1033
size_t inputLength
Definition: AESCCM.h:960
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:1020
Definition: AESCCM.h:1032
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:1072
CryptoKey datastructure.
Definition: CryptoKey.h:192
uint8_t nonceLength
Definition: AESCCM.h:910
uint8_t * mac
Definition: AESCCM.h:985
int_fast16_t AESCCM_cancelOperation(AESCCM_Handle handle)
Cancels an ongoing AESCCM operation.
Definition: AESCommon.h:186
bool nonceInternallyGenerated
Definition: AESCCM.h:918
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:1041
Struct containing the parameters required for authenticating/verifying additional data in a segmented...
Definition: AESCCM.h:929
uint8_t * input
Definition: AESCCM.h:974
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:872
size_t aadLength
Definition: AESCCM.h:899
size_t inputLength
Definition: AESCCM.h:904
size_t aadLength
Definition: AESCCM.h:935
Definition: AESCommon.h:192
uint8_t * output
Definition: AESCCM.h:882
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:991
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:1059
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:1039
uint8_t * aad
Definition: AESCCM.h:873
AESCCM_ReturnBehavior returnBehavior
Definition: AESCCM.h:1074
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:1017
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:1075
Definition: AESCCM.h:1038
AESCCM_Mode
Enum for the direction of the CCM operation.
Definition: AESCCM.h:860
uint8_t * mac
Definition: AESCCM.h:893
AESCCM_OperationType
Enum for the operation types supported by the driver.
Definition: AESCCM.h:1029
AESCCM_Config * AESCCM_Handle
A handle that is returned from an AESCCM_open() call.
Definition: AESCCM.h:813
uint8_t * input
Definition: AESCCM.h:949
AESCCM_ReturnBehavior
The way in which CCM function calls return after performing an encryption + authentication or decrypt...
Definition: AESCCM.h:836
void AESCCM_init(void)
This function initializes the CCM module.
Definition: AESCCM.h:1036
uint8_t macLength
Definition: AESCCM.h:913
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:877
AESCCM_SegmentedFinalizeOperation segmentedFinalizeOperation
Definition: AESCCM.h:1022
Definition: AESCCM.h:1040
AESCCM_OneStepOperation oneStepOperation
Definition: AESCCM.h:1019
Definition: AESCCM.h:1031
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:808
uint8_t * nonce
Definition: AESCCM.h:888
AESCCM_OneStepOperation AESCCM_Operation
Definition: AESCCM.h:1011
int_fast16_t AESCCM_finalizeEncrypt(AESCCM_Handle handle, AESCCM_SegmentedFinalizeOperation *operation)
Finalize the MAC and ciphertext.