704 #ifndef ti_drivers_AESCCM__include 705 #define ti_drivers_AESCCM__include 729 #define AESCCM_STATUS_RESERVED (-32) 737 #define AESCCM_STATUS_SUCCESS (0) 745 #define AESCCM_STATUS_ERROR (-1) 755 #define AESCCM_STATUS_RESOURCE_UNAVAILABLE (-2) 764 #define AESCCM_STATUS_MAC_INVALID (-3) 769 #define AESCCM_STATUS_CANCELED (-4) 777 #define AESCCM_STATUS_KEYSTORE_INVALID_ID (-5) 785 #define AESCCM_STATUS_FEATURE_NOT_SUPPORTED (-6) 791 #define AESCCM_STATUS_KEYSTORE_GENERIC_ERROR (-7) 1047 int_fast16_t returnValue,
1164 size_t totalAADLength,
1165 size_t totalPlaintextLength,
1201 size_t totalAADLength,
1202 size_t totalPlaintextLength,
1234 size_t plaintextLength,
1258 const uint8_t *nonce,
1259 size_t nonceLength);
1288 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:947
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:925
Struct containing the parameters required for encrypting/decrypting a message in a segmented operatio...
Definition: AESCCM.h:941
Struct containing the parameters required for finalizing an encryption/decryption and authentication/...
Definition: AESCCM.h:964
uint8_t * output
Definition: AESCCM.h:970
void * object
Definition: AESCCM.h:806
Definition: AESCCM.h:1022
Definition: AESCCM.h:1024
Struct containing the parameters required for encrypting/decrypting and authenticating/verifying a me...
Definition: AESCCM.h:867
void AESCCM_OneStepOperation_init(AESCCM_OneStepOperation *operationStruct)
Function to initialize an AESCCM_OneStepOperation struct to its defaults.
uint32_t timeout
Definition: AESCCM.h:1062
AESCCM_SegmentedDataOperation segmentedDataOperation
Definition: AESCCM.h:1011
void * custom
Definition: AESCCM.h:1065
uint8_t macLength
Definition: AESCCM.h:987
Definition: AESCCM.h:1021
size_t inputLength
Definition: AESCCM.h:953
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.
AESCCM_SegmentedAADOperation segmentedAADOperation
Definition: AESCCM.h:1010
Definition: AESCCM.h:1020
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:1059
CryptoKey datastructure.
Definition: CryptoKey.h:192
uint8_t nonceLength
Definition: AESCCM.h:905
uint8_t * mac
Definition: AESCCM.h:976
int_fast16_t AESCCM_cancelOperation(AESCCM_Handle handle)
Cancels an ongoing AESCCM operation.
bool nonceInternallyGenerated
Definition: AESCCM.h:913
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:1028
Struct containing the parameters required for authenticating/verifying additional data in a segmented...
Definition: AESCCM.h:924
uint8_t * input
Definition: AESCCM.h:965
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:868
size_t aadLength
Definition: AESCCM.h:895
size_t inputLength
Definition: AESCCM.h:900
size_t aadLength
Definition: AESCCM.h:929
uint8_t * output
Definition: AESCCM.h:878
void const * hwAttrs
Definition: AESCCM.h:809
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:982
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:1046
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:1026
uint8_t * aad
Definition: AESCCM.h:869
AESCCM_ReturnBehavior returnBehavior
Definition: AESCCM.h:1060
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:1007
AESCCM Global configuration.
Definition: AESCCM.h:804
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:1061
Definition: AESCCM.h:1025
AESCCM_Mode
Enum for the direction of the CCM operation.
Definition: AESCCM.h:858
uint8_t * mac
Definition: AESCCM.h:889
AESCCM_OperationType
Enum for the operation types supported by the driver.
Definition: AESCCM.h:1018
AESCCM_Config * AESCCM_Handle
A handle that is returned from an AESCCM_open() call.
Definition: AESCCM.h:815
uint8_t * input
Definition: AESCCM.h:942
AESCCM_ReturnBehavior
The way in which CCM function calls return after performing an encryption + authentication or decrypt...
Definition: AESCCM.h:838
void AESCCM_init(void)
This function initializes the CCM module.
Definition: AESCCM.h:1023
uint8_t macLength
Definition: AESCCM.h:908
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.
uint8_t * input
Definition: AESCCM.h:873
AESCCM_SegmentedFinalizeOperation segmentedFinalizeOperation
Definition: AESCCM.h:1012
Definition: AESCCM.h:1027
AESCCM_OneStepOperation oneStepOperation
Definition: AESCCM.h:1009
Definition: AESCCM.h:1019
void AESCCM_SegmentedDataOperation_init(AESCCM_SegmentedDataOperation *operationStruct)
Function to initialize an AESCCM_SegmentedDataOperation struct to its defaults.
uint8_t * nonce
Definition: AESCCM.h:884
AESCCM_OneStepOperation AESCCM_Operation
Definition: AESCCM.h:1001
int_fast16_t AESCCM_finalizeEncrypt(AESCCM_Handle handle, AESCCM_SegmentedFinalizeOperation *operation)
Finalize the MAC and ciphertext.