MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
Modules | |
Ltc_driver_aes_with_dpa | |
Ltc_driver_cmac_with_dpa | |
Ltc_driver_des_with_dpa | |
Data Structures | |
struct | ltc_dpa_handle_t |
Handle for LTC DPA APIs. More... | |
Macros | |
#define | LTC_DPA_AES_BLOCK_SIZE 16 |
AES block size in bytes. | |
#define | LTC_DPA_AES_IV_SIZE 16 |
AES Input Vector size in bytes. | |
#define | LTC_DPA_DES_BLOCK_SIZE 8 |
LTC DES block size in bytes. | |
#define | LTC_DPA_DES_KEY_SIZE 8 |
LTC DES key size - 64 bits. More... | |
#define | LTC_DPA_DES_IV_SIZE 8 |
LTC DES IV size - 8 bytes. | |
Typedefs | |
typedef uint32_t | ltc_dpa_request_t [250] |
User request details, also updated during processing. | |
Enumerations | |
enum | ltc_dpa_hash_algo_t |
Algorithm supported by LTC_CMAC_DPA APIs. | |
Functions | |
void | LTC_InitDPA (LTC_Type *base) |
Enable clock to LTC module. More... | |
status_t | LTC_CreateHandleDPA (LTC_Type *base, ltc_dpa_handle_t *handle, uint8_t seed[16]) |
Init the LTC DPA handle which is used in transcational functions. More... | |
status_t | LTC_AES_SetKeyDPA (LTC_Type *base, ltc_dpa_handle_t *handle, const uint8_t *key, size_t keySize) |
Set key for LTC DPA AES encryption. More... | |
void | LTC_SetDummyNumberDPA (ltc_dpa_handle_t *handle, uint32_t num) |
Set number of dummy operations added per one real operation. More... | |
void | LTC_SetDummyProbabilityDPA (ltc_dpa_handle_t *handle, uint32_t probability) |
Set probability a dummy operation runs to completion. More... | |
struct ltc_dpa_handle_t |
Data Fields | |
ltc_dpa_request_t | req |
Driver internals derived from user request and updated during request processing. | |
#define LTC_DPA_DES_KEY_SIZE 8 |
void LTC_InitDPA | ( | LTC_Type * | base | ) |
This function enables clock to the LTC module.
base | LTC peripheral base address |
status_t LTC_CreateHandleDPA | ( | LTC_Type * | base, |
ltc_dpa_handle_t * | handle, | ||
uint8_t | seed[16] | ||
) |
This function creates internal context for the LTC DPA functions. This function also initializes LTC DPA Mask Seed DPAMS register with a 32-bit word, where the word is derived from the seed[].
base | LTC module base address | |
[in,out] | handle | Pointer to ltc_dpa_handle_t structure |
seed | Pointer to 128-bit entropy input. |
status_t LTC_AES_SetKeyDPA | ( | LTC_Type * | base, |
ltc_dpa_handle_t * | handle, | ||
const uint8_t * | key, | ||
size_t | keySize | ||
) |
This function sets key for usage with LTC DPA AES functions.
base | LTC module base address | |
[in,out] | handle | Pointer to ltc_dpa_handle_t structure |
probability | Probability that a dummy operation runs to completion. |
void LTC_SetDummyNumberDPA | ( | ltc_dpa_handle_t * | handle, |
uint32_t | num | ||
) |
LTC_CreateHandleDPA() uses this function to configure default Nd = 15.
This function sets runtime parameter of number of dummy operation added per one real operation. Possible values have an upper limit FSL_LTC_DPA_MAX_ND. The parameter is stored in the handle and read by the driver from the handle when it executes encryption or decryption. This function can be called any time.
[in,out] | handle | Pointer to ltc_dpa_handle_t structure |
probability | Probability that a dummy operation runs to completion. |
void LTC_SetDummyProbabilityDPA | ( | ltc_dpa_handle_t * | handle, |
uint32_t | probability | ||
) |
LTC_CreateHandleDPA() uses this function to configure default probability = 100%, means in default setting all dummy operations run to completion.
This function sets runtime parameter of probability a dummy operation runs to completion. The parameter is stored in the handle and read by the driver from the handle when it executes encryption or decryption. This function can be called any time.
[in,out] | handle | Pointer to ltc_dpa_handle_t structure |
probability | Probability that a dummy operation runs to completion. Possible values are integer values 0 to 100. |