TI OAD API Documentation  9.14.00
Data Fields
HSMBareMetal_AESOperationStruct Struct Reference

Struct containing the parameters required for AES operations. More...

Data Fields

uint8_t * aad
 
size_t aadLength
 
uint8_t * input
 
size_t inputLength
 
HSMBareMetal_KeyInput isKeyInAssetStore
 
uint8_t * iv
 
uint8_t ivLength
 
uint8_t * key
 
uint32_t keyAssetID
 
uint8_t keyLength
 
uint8_t * mac
 
uint8_t macLength
 
uint8_t * nonce
 
uint8_t nonceLength
 
HSMBareMetal_operationDirection operationDirection
 
HSMBareMetal_AESOperationMode operationMode
 
uint8_t * output
 

Detailed Description

Struct containing the parameters required for AES operations.

Field Documentation

§ aad

uint8_t* HSMBareMetal_AESOperationStruct::aad

A buffer of length aadLength containing additional authentication data to be authenticated/verified but not encrypted/decrypted.

§ aadLength

size_t HSMBareMetal_AESOperationStruct::aadLength

Length of the total aad in bytes. Either aadLength or inputLength must be non-zero.

§ input

uint8_t* HSMBareMetal_AESOperationStruct::input
  • Encryption: The plaintext buffer to be encrypted and authenticated (CCM and GCM only) in the AES operation.
  • Decryption: The ciphertext to be decrypted and verified (CCM and GCM only).

§ inputLength

size_t HSMBareMetal_AESOperationStruct::inputLength

Length of the input/output data in bytes. Either aadLength or inputLength must be non-zero. Max length supported may be limited depending on the return behavior.

§ iv

uint8_t* HSMBareMetal_AESOperationStruct::iv

A buffer containing an IV. IVs must be unique to each CBC operation and may not be reused.

§ ivLength

uint8_t HSMBareMetal_AESOperationStruct::ivLength

Length of iv in bytes. Valid length is 16 Bytes.

§ mac

uint8_t* HSMBareMetal_AESOperationStruct::mac
  • Encryption: The buffer where the message authentication code is copied.
  • Decryption: The buffer containing the received message authentication code.

§ macLength

uint8_t HSMBareMetal_AESOperationStruct::macLength

Length of mac in bytes. Valid MAC lengths are [0, 4, 6, 8, 10, 12, 14, 16]. A length of 0 disables authentication and verification. This is only permitted when using CCM*.

§ nonce

uint8_t* HSMBareMetal_AESOperationStruct::nonce

A buffer containing a nonce. Nonces must be unique to each CCM operation and may not be reused.

§ nonceLength

uint8_t HSMBareMetal_AESOperationStruct::nonceLength

Length of nonce in bytes. Valid nonce lengths are [7, 8, ... 13].

§ output

uint8_t* HSMBareMetal_AESOperationStruct::output
  • Encryption: The output ciphertext buffer that the encrypted plaintext is copied to.
  • Decryption: The plaintext derived from the decrypted and verified ciphertext is copied here.

The documentation for this struct was generated from the following file: