781 #ifndef ti_drivers_AESCCM__include 782 #define ti_drivers_AESCCM__include 807 #define AESCCM_STATUS_RESERVED AES_STATUS_RESERVED 815 #define AESCCM_STATUS_SUCCESS AES_STATUS_SUCCESS 823 #define AESCCM_STATUS_ERROR AES_STATUS_ERROR 833 #define AESCCM_STATUS_RESOURCE_UNAVAILABLE AES_STATUS_RESOURCE_UNAVAILABLE 838 #define AESCCM_STATUS_CANCELED AES_STATUS_CANCELED 847 #define AESCCM_STATUS_MAC_INVALID AES_STATUS_MAC_INVALID 853 #define AESCCM_STATUS_FEATURE_NOT_SUPPORTED AES_STATUS_FEATURE_NOT_SUPPORTED 858 #define AESCCM_STATUS_KEYSTORE_INVALID_ID AES_STATUS_KEYSTORE_INVALID_ID 864 #define AESCCM_STATUS_KEYSTORE_GENERIC_ERROR AES_STATUS_KEYSTORE_GENERIC_ERROR 872 #define AESCCM_STATUS_UNALIGNED_IO_NOT_SUPPORTED AES_STATUS_UNALIGNED_IO_NOT_SUPPORTED 1149 int_fast16_t returnValue,
1267 size_t totalAADLength,
1268 size_t totalPlaintextLength,
1304 size_t totalAADLength,
1305 size_t totalPlaintextLength,
1335 int_fast16_t
AESCCM_setLengths(AESCCM_Handle handle,
size_t aadLength,
size_t plaintextLength,
size_t macLength);
1357 int_fast16_t
AESCCM_setNonce(AESCCM_Handle handle,
const uint8_t *nonce,
size_t nonceLength);
1383 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:1039
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.
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:1013
Struct containing the parameters required for encrypting/decrypting a message in a segmented operatio...
Definition: AESCCM.h:1032
Struct containing the parameters required for finalizing an encryption/decryption and authentication/...
Definition: AESCCM.h:1059
uint8_t * output
Definition: AESCCM.h:1066
Definition: AESCCM.h:1124
Definition: AESCCM.h:1126
Struct containing the parameters required for encrypting/decrypting and authenticating/verifying a me...
Definition: AESCCM.h:947
void AESCCM_OneStepOperation_init(AESCCM_OneStepOperation *operationStruct)
Function to initialize an AESCCM_OneStepOperation struct to its defaults.
uint32_t timeout
Definition: AESCCM.h:1165
AESCCM_SegmentedDataOperation segmentedDataOperation
Definition: AESCCM.h:1110
void * custom
Definition: AESCCM.h:1168
uint8_t macLength
Definition: AESCCM.h:1086
Definition: AESCCM.h:1122
size_t inputLength
Definition: AESCCM.h:1047
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:1109
Definition: AESCCM.h:1121
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:1161
CryptoKey datastructure.
Definition: CryptoKey.h:211
uint8_t nonceLength
Definition: AESCCM.h:992
uint8_t * mac
Definition: AESCCM.h:1074
int_fast16_t AESCCM_cancelOperation(AESCCM_Handle handle)
Cancels an ongoing AESCCM operation.
Definition: AESCommon.h:186
bool nonceInternallyGenerated
Definition: AESCCM.h:1000
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:1130
Struct containing the parameters required for authenticating/verifying additional data in a segmented...
Definition: AESCCM.h:1011
uint8_t * input
Definition: AESCCM.h:1061
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:949
size_t aadLength
Definition: AESCCM.h:978
size_t inputLength
Definition: AESCCM.h:986
size_t aadLength
Definition: AESCCM.h:1017
Definition: AESCommon.h:192
uint8_t * output
Definition: AESCCM.h:959
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:1080
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:1148
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:1128
uint8_t * aad
Definition: AESCCM.h:950
AESCCM_ReturnBehavior returnBehavior
Definition: AESCCM.h:1163
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:1106
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:1164
Definition: AESCCM.h:1127
AESCCM_Mode
Enum for the direction of the CCM operation.
Definition: AESCCM.h:937
uint8_t * mac
Definition: AESCCM.h:972
AESCCM_OperationType
Enum for the operation types supported by the driver.
Definition: AESCCM.h:1118
AESCCM_Config * AESCCM_Handle
A handle that is returned from an AESCCM_open() call.
Definition: AESCCM.h:890
uint8_t * input
Definition: AESCCM.h:1034
AESCCM_ReturnBehavior
The way in which CCM function calls return after performing an encryption + authentication or decrypt...
Definition: AESCCM.h:913
void AESCCM_init(void)
This function initializes the CCM module.
Definition: AESCCM.h:1125
uint8_t macLength
Definition: AESCCM.h:995
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:954
AESCCM_SegmentedFinalizeOperation segmentedFinalizeOperation
Definition: AESCCM.h:1111
Definition: AESCCM.h:1129
AESCCM_OneStepOperation oneStepOperation
Definition: AESCCM.h:1108
Definition: AESCCM.h:1120
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:885
uint8_t * nonce
Definition: AESCCM.h:967
AESCCM_OneStepOperation AESCCM_Operation
Definition: AESCCM.h:1100
int_fast16_t AESCCM_finalizeEncrypt(AESCCM_Handle handle, AESCCM_SegmentedFinalizeOperation *operation)
Finalize the MAC and ciphertext.