MCUXpresso SDK API Reference Manual  Rev 2.16.000
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages

Overview

Typedefs

typedef enum _caam_fifost_type caam_fifost_type_t
 CAAM FIFOST types. More...
 
typedef enum _caam_desc_type caam_desc_type_t
 CAAM descriptor types. More...
 

Enumerations

enum  _caam_fifost_type {
  kCAAM_FIFOST_Type_Kek_Kek = 0x24,
  kCAAM_FIFOST_Type_Kek_TKek = 0x25,
  kCAAM_FIFOST_Type_Kek_Cmm_Jkek = 0x14,
  kCAAM_FIFOST_Type_Kek_Cmm_Tkek = 0x15
}
 CAAM FIFOST types. More...
 
enum  _caam_desc_type {
  kCAAM_Descriptor_Type_Kek_Kek = 0x0,
  kCAAM_Descriptor_Type_Kek_TKek = 0x2,
  kCAAM_Descriptor_Type_Kek_Ccm_Jkek = 0x1,
  kCAAM_Descriptor_Type_Kek_Ccm_Tkek = 0x3
}
 CAAM descriptor types. More...
 

Functions

status_t CAAM_RedBlob_Encapsule (CAAM_Type *base, caam_handle_t *handle, const uint8_t *keyModifier, size_t keyModifierSize, const uint8_t *data, size_t dataSize, uint8_t *blob_data)
 Construct a encrypted Red Blob. More...
 
status_t CAAM_RedBlob_Decapsule (CAAM_Type *base, caam_handle_t *handle, const uint8_t *keyModifier, size_t keyModifierSize, const uint8_t *blob_data, uint8_t *data, size_t dataSize)
 Decrypt red blob. More...
 
status_t CAAM_BlackBlob_Encapsule (CAAM_Type *base, caam_handle_t *handle, const uint8_t *keyModifier, size_t keyModifierSize, const uint8_t *data, size_t dataSize, uint8_t *blob_data, caam_desc_type_t blackKeyType)
 Construct a encrypted Black Blob. More...
 
status_t CAAM_BlackBlob_Decapsule (CAAM_Type *base, caam_handle_t *handle, const uint8_t *keyModifier, size_t keyModifierSize, const uint8_t *blob_data, uint8_t *data, size_t dataSize, caam_desc_type_t blackKeyType)
 Construct a decrypted black blob. More...
 

Typedef Documentation

Enumeration Type Documentation

Enumerator
kCAAM_FIFOST_Type_Kek_Kek 
   Key Register, encrypted using AES-ECB with the job

descriptor key encryption key.

kCAAM_FIFOST_Type_Kek_TKek 
   Key Register, encrypted using AES-ECB with the

trusted descriptor key encryption key.

kCAAM_FIFOST_Type_Kek_Cmm_Jkek 
   Key Register, encrypted using AES-CCM with the

job descriptor key encryption key.

kCAAM_FIFOST_Type_Kek_Cmm_Tkek 
   Key register, encrypted using AES-CCM with the

trusted descriptor key encryption key.

Enumerator
kCAAM_Descriptor_Type_Kek_Kek 
   Key Register, encrypted using AES-ECB with the job

descriptor key encryption key.

kCAAM_Descriptor_Type_Kek_TKek 
   Key Register, encrypted using AES-ECB with the

trusted descriptor key encryption key.

kCAAM_Descriptor_Type_Kek_Ccm_Jkek 
   Key Register, encrypted using AES-CCM with the

job descriptor key encryption key.

kCAAM_Descriptor_Type_Kek_Ccm_Tkek 
   Key register, encrypted using AES-CCM with the

trusted descriptor key encryption key.

Function Documentation

status_t CAAM_RedBlob_Encapsule ( CAAM_Type *  base,
caam_handle_t handle,
const uint8_t *  keyModifier,
size_t  keyModifierSize,
const uint8_t *  data,
size_t  dataSize,
uint8_t *  blob_data 
)

This function constructs a job descriptor capable of performing a encrypted blob operation on a plaintext object.

Parameters
baseCAAM peripheral base address
handleHandle used for this request. Specifies jobRing.
keyModifierAddress of the random key modifier generated by RNG
keyModifierSizeSize of keyModifier buffer in bytes
dataData adress
dataSizeSize of the buffer pointed by the data parameter
[out]blob_dataOutput blob data adress
Returns
Status of the request
status_t CAAM_RedBlob_Decapsule ( CAAM_Type *  base,
caam_handle_t handle,
const uint8_t *  keyModifier,
size_t  keyModifierSize,
const uint8_t *  blob_data,
uint8_t *  data,
size_t  dataSize 
)

This function constructs a job descriptor capable of performing decrypting red blob .

Parameters
baseCAAM peripheral base address
handleHandle used for this request. Specifies jobRing.
keyModifierAddress of the random key modifier generated by RNG
keyModifierSizeSize of keyModifier buffer in bytes
blob_dataAddress of blob data
[out]dataOutput data adress.
dataSizeSize of the buffer pointed by the data parameter in bytes
Returns
Status of the request
status_t CAAM_BlackBlob_Encapsule ( CAAM_Type *  base,
caam_handle_t handle,
const uint8_t *  keyModifier,
size_t  keyModifierSize,
const uint8_t *  data,
size_t  dataSize,
uint8_t *  blob_data,
caam_desc_type_t  blackKeyType 
)

This function constructs a job descriptor capable of performing a encrypted blob operation on a plaintext object.

Parameters
baseCAAM peripheral base address
handleHandle used for this request. Specifies jobRing.
keyModifierAddress of the random key modifier generated by RNG
keyModifierSizeSize of keyModifier buffer in bytes
dataData adress
dataSizeSize of the buffer pointed by the data parameter
[out]blob_dataOutput blob data adress
blackKeyTypeType of black key see enum caam_desc_type_t for more info
Returns
Status of the request
status_t CAAM_BlackBlob_Decapsule ( CAAM_Type *  base,
caam_handle_t handle,
const uint8_t *  keyModifier,
size_t  keyModifierSize,
const uint8_t *  blob_data,
uint8_t *  data,
size_t  dataSize,
caam_desc_type_t  blackKeyType 
)

This function constructs a job descriptor capable of performing decrypting black blob.

Parameters
baseCAAM peripheral base address
handleHandle used for this request. Specifies jobRing.
keyModifierAddress of the random key modifier generated by RNG
keyModifierSizeSize of keyModifier buffer in bytes
blob_dataAddress of blob data
[out]dataOutput data adress.
dataSizeSize of the buffer pointed by the data parameter in bytes
blackKeyTypeType of black key see enum caam_desc_type_t for more info
Returns
Status of the request