25 #ifndef TOF_SECURITY_H_ 26 #define TOF_SECURITY_H_ 37 #include <ti/drivers/TRNG.h> 38 #include <ti/drivers/AESECB.h> 46 #define NUM_ELEMENTS(x) (sizeof(x)/sizeof(x[0])) 53 #define CTR_DRBG_BLOCKLEN 16 54 #define CTR_DRBG_SEEDLEN (CTR_DRBG_BLOCKLEN + CTR_DRBG_BLOCKLEN) 55 #define CTR_DRBG_INST_FLAG 0xAA 57 #define TOF_SEC_FILL_BOTH_BUFFS 0x01 58 #define TOF_SEC_FILL_1ST_BUFF 0x02 59 #define TOF_SEC_FILL_2ND_BUFF 0x03 61 #define TOF_SEC_SYNCWORD_SIZE 8 63 #define TOF_SEC_DBL_BUFF_SIZE 16 65 #define ENC_KEY_LEN 16 66 #define AES_BLOCK_LEN 16 238 #endif // TOF_SECURITY_H_ ToF Security Handle.
Definition: tof_security.h:110
Invalid parameters fail.
Definition: tof_security.h:90
#define ENC_KEY_LEN
Encryption Key size in bytes.
Definition: tof_security.h:65
TRNG_Handle trngHandle
TRNG Handle.
Definition: tof_security.h:126
uint8_t * pSyncWordBuffer1
Pointer to the sync word buffer, used in both single and double buffer mode.
Definition: tof_security.h:119
int TOFSecurity_genSyncWords(tofSecHandle_t *tofSecHandle, uint8_t bufferToFill)
Will fill each Sync Word Buffer with numOfSyncWordsPerBuffer Sync Words.
Seed Generation fail.
Definition: tof_security.h:87
ctr DRBG State
Definition: tof_security.h:94
#define CTR_DRBG_SEEDLEN
Length of CTR DRBG Seed.
Definition: tof_security.h:54
Single Buffer.
Definition: tof_security.h:79
uint16_t syncWordSize
In bytes. Defaults to 8.
Definition: tof_security.h:105
AES fail.
Definition: tof_security.h:88
Allocation fail.
Definition: tof_security.h:89
int TOFSecurity_close(tofSecHandle_t *tofSecHandle)
This function is used to close ToF Security and free buffers.
uint8_t * pSyncWordBuffer2
Pointer to the second sync word buffer, used in double buffer mode only.
Definition: tof_security.h:120
AESECB_Params encParamsECB
AESECB Encryption parameters.
Definition: tof_security.h:130
uint8_t bUseDoubleBuffer
Defaults to false.
Definition: tof_security.h:104
AESECB_Handle encHandleECB
AESECB Encryption Handle.
Definition: tof_security.h:129
uint8_t instantiatedFlag
Variable used for ctr DRBG State.
Definition: tof_security.h:98
Double Buffer.
Definition: tof_security.h:80
Success.
Definition: tof_security.h:86
#define CTR_DRBG_BLOCKLEN
Length of CTR DRBG Block.
Definition: tof_security.h:53
tofSecCfgPrms_t tofSecCfgParams
ToF Security Configuration Parameters.
Definition: tof_security.h:115
ctrDrbgState_t ctrDrbgState
ctr DRBG State
Definition: tof_security.h:113
int TOFSecurity_open(tofSecHandle_t *tofSecHandle, tofSecCfgPrms_t *tofSecCfgPrms)
This function is used to open the tof security module (to default or to presets defined in tofSecCfgP...
int TOFSecurity_genSeed(tofSecHandle_t *tofSecHandle)
use TRNG HW module to generate a true 128-bit random seed
ToF Security Configuration Parameters.
Definition: tof_security.h:102
int TOFSecurity_setSeed(tofSecHandle_t *tofSecHandle, uint8_t *newSeed)
This function is used to reseed the ctr drbg.
CryptoKey cryptoKey
AES Encryption Crypto key.
Definition: tof_security.h:133
tofSecErrRes_t
ToF Security Error Result.
Definition: tof_security.h:84
uint16_t totalNumOfSyncWords
Defaults to 64.
Definition: tof_security.h:106
tofSecMode_e
ToF Security Mode.
Definition: tof_security.h:77
uint16_t numOfSyncWordsPerBuffer
Length of double buffer, both buffers must be equal length. The number of bursts in double buffer mod...
Definition: tof_security.h:118
AESECB_Operation operationECB
AESECB Encryption operation parameters.
Definition: tof_security.h:131