AES Driver Parameters This structure has all the parameters which are need by the AES Driver to perform the specified operation.
Parameter | DTHE_AES_ONE_SHOT_SUPPORT | DTHE_AES_STREAM_INIT | DTHE_AES_STREAM_UPDATE | DTHE_AES_STREAM_FINISH |
---|---|---|---|---|
algoType | * | * | * | * |
opType | * | * | * | * |
useKEKMode | * | * | ||
ptrKey | * | * | ||
ptrKey1 | * | * | ||
ptrKey2 | * | * | ||
keyLen | * | * | ||
ptrIV | * | * | ||
dataLenBytes | * | |||
ptrEncryptedData | * | * | * | |
ptrPlainTextData | * | * | * | |
counterWidth | * | * | ||
streamState | * | * | * | |
streamSize | * | * | ||
ptrTag | * |
Data Fields | |
uint32_t | algoType |
uint32_t | opType |
Operation to be performed by the AES Driver. More... | |
Bool | useKEKMode |
uint32_t * | ptrKey |
uint32_t * | ptrKey1 |
uint32_t * | ptrKey2 |
uint8_t | keyLen |
Length of the Key. More... | |
uint32_t * | ptrIV |
uint32_t | dataLenBytes |
uint32_t * | ptrEncryptedData |
uint32_t * | ptrPlainTextData |
uint32_t * | ptrTag |
uint32_t | counterWidth |
uint32_t | streamState |
uint32_t | streamSize |
uint32_t DTHE_AES_Params::algoType |
< Algorithm to be performed by the AES Driver
uint32_t DTHE_AES_Params::opType |
Operation to be performed by the AES Driver.
Bool DTHE_AES_Params::useKEKMode |
< This is a boolean flag which indicates if the KEK mode is to be used or not. If this is set to TRUE then the 'ptrKey' below is not used. The operation mode is ignored and this is only used for encryption.
uint32_t* DTHE_AES_Params::ptrKey |
< Pointer to the key to be used to perform the decryption. The driver supports AES-CBC with 256bit keys. This is only valid if the KEK mode flag above is set to be FALSE.
uint32_t* DTHE_AES_Params::ptrKey1 |
< To be used only for CMAC
uint32_t* DTHE_AES_Params::ptrKey2 |
< To be used only for CMAC
uint8_t DTHE_AES_Params::keyLen |
Length of the Key.
uint32_t* DTHE_AES_Params::ptrIV |
< Pointer to the Initialization Vector to be used.
uint32_t DTHE_AES_Params::dataLenBytes |
< Size of the data in bytes. This value cannot be equal to zero. For MAC algorithms, which support dataLength as zero bytes, the handling is done outside the driver scope.
uint32_t* DTHE_AES_Params::ptrEncryptedData |
< Pointer to the encrypted data buffer:
Decryption Operation Mode:
Encryption Operation Mode:
Note : Not valid for AES-CMAC mode.
uint32_t* DTHE_AES_Params::ptrPlainTextData |
< Pointer to the Plain Text data buffer:
Decryption Operation Mode:
Encryption Operation Mode:
uint32_t* DTHE_AES_Params::ptrTag |
< Pointer to Tag
uint32_t DTHE_AES_Params::counterWidth |
< Width of Counter in bits
uint32_t DTHE_AES_Params::streamState |
< Only valid for Streaming Support; Valid values are - DTHE_AES_STREAM_INIT, DTHE_AES_STREAM_UPDATE, DTHE_AES_STREAM_FINISH
uint32_t DTHE_AES_Params::streamSize |
< Only valid for Streaming Support