MCUX CLNS
MCUX Crypto Library Normal Secure
 
Loading...
Searching...
No Matches
McuxClPkc_Functions_UPTRT

mcuxClPkc functions of PKC UPTR table setup More...

Macros

#define MCUXCLPKC_FP_GENERATEUPTRT(pUPTRT, pBaseBuffer, bufferSize, noOfBuffer)
 Helper macro to call mcuxClPkc_GenerateUPTRT with flow protection.
 

Functions

void mcuxClPkc_GenerateUPTRT (uint16_t *pUPTRT, const uint8_t *pBaseBuffer, uint16_t bufferLength, uint8_t noOfBuffer)
 Initialize UPTR table.
 
mcuxClPkc_Status_t mcuxClPkc_RandomizeUPTRT (mcuxClSession_Handle_t pSession, uint16_t *pUPTRT, uint8_t noOfBuffer)
 Randomize UPTR table.
 
mcuxClPkc_Status_t mcuxClPkc_ReRandomizeUPTRT (mcuxClSession_Handle_t pSession, uint16_t *pUPTRT, uint16_t bufferLength, uint8_t noOfBuffer)
 Randomize UPTR table and operands in PKC workarea.
 

Detailed Description

mcuxClPkc functions of PKC UPTR table setup

Macro Definition Documentation

◆ MCUXCLPKC_FP_GENERATEUPTRT

#define MCUXCLPKC_FP_GENERATEUPTRT (   pUPTRT,
  pBaseBuffer,
  bufferSize,
  noOfBuffer 
)

Helper macro to call mcuxClPkc_GenerateUPTRT with flow protection.

Function Documentation

◆ mcuxClPkc_GenerateUPTRT()

void mcuxClPkc_GenerateUPTRT ( uint16_t *  pUPTRT,
const uint8_t *  pBaseBuffer,
uint16_t  bufferLength,
uint8_t  noOfBuffer 
)

Initialize UPTR table.

This function initializes elements in UPTR table. UPTR table contains the address (16-bit offset in PKC workarea) of each buffer (PKC operand). Each element of the table will be initialized with a 16-bit offset, associated with a buffer allocated in sequence in PKC workarea. When calling this function, there shall be no on-going and pending PKC calculations using the specified UPTR table elements.

Parameters
[out]pUPTRTpointer to the first element to be initialized in UPTR table.
[in]pBaseBufferaddress of the buffer in PKC workarea, with which the first element will be associated.
[in]bufferLengthbyte length of each buffer in PKC workarea.
[in]noOfBuffernumber of elements to be initialized.
Parameter properties
pUPTRT
this pointer shall be 2-byte aligned.
pBaseBuffer
this address shall be MCUXCLPKC_WORDSIZE aligned.
bufferLength
this length shall be a multiple of MCUXCLPKC_WORDSIZE.

◆ mcuxClPkc_RandomizeUPTRT()

mcuxClPkc_Status_t mcuxClPkc_RandomizeUPTRT ( mcuxClSession_Handle_t  pSession,
uint16_t *  pUPTRT,
uint8_t  noOfBuffer 
)

Randomize UPTR table.

This function randomly permutes offsets stored in UPTR table. It randomizes the buffer allocation (physical address in PKC workarea). When calling this function, there shall be no on-going and pending PKC calculations using the specified UPTR table elements.

Parameters
[in]pSessionhandle for the current CL session.
[in,out]pUPTRTpointer to the first element to be randomized in UPTR table.
[in]noOfBuffernumber of elements to be randomized.
Parameter properties
pSession:
The session pointed to by pSession has to be initialized prior to a call to this function.
pUPTRT
this pointer shall be 2-byte aligned.
Attention
Only the buffer allocation will be randomized, existing operands stored in each buffer will not be moved accordingly.
This function uses PRNG. Caller needs to check if PRNG is ready.
Returns
A flow-protected status code (see Flow Protection API).
Return values
MCUXCLPKC_STATUS_OKif UPTR table is randomized successfully.
MCUXCLPKC_STATUS_NOKif the operation failed.
Attention
This function uses PRNG which has to be initialized prior to calling the function.

◆ mcuxClPkc_ReRandomizeUPTRT()

mcuxClPkc_Status_t mcuxClPkc_ReRandomizeUPTRT ( mcuxClSession_Handle_t  pSession,
uint16_t *  pUPTRT,
uint16_t  bufferLength,
uint8_t  noOfBuffer 
)

Randomize UPTR table and operands in PKC workarea.

This function randomly permutes offsets stored in UPTR table, together with operands stored in each buffer in PKC workarea. It randomizes the buffer allocation (physical address in PKC workarea) and moves operands stored accordingly. When calling this function, there shall be no on-going and pending PKC calculations using the specified UPTR table elements.

Parameters
[in]pSessionhandle for the current CL session.
[in,out]pUPTRTpointer to the first element to be randomized in UPTR table.
[in]bufferLengthbyte length of each buffer in PKC workarea.
[in]noOfBuffernumber of elements to be randomized.
Parameter properties
pSession:
The session pointed to by pSession has to be initialized prior to a call to this function.
pUPTRT
this pointer shall be 2-byte aligned.
All offsets (pUPTRT[0~(noOfBuffer-1)]) shall be exactly a multiple of MCUXCLPKC_WORDSIZE.
bufferLength
this length shall be a multiple of MCUXCLPKC_WORDSIZE.
Attention
This function uses PRNG. Caller needs to check if PRNG is ready.
Returns
A flow-protected status code (see Flow Protection API).
Return values
MCUXCLPKC_STATUS_OKif UPTR table is randomized successfully.
MCUXCLPKC_STATUS_NOKif the operation failed.
Attention
This function uses PRNG which has to be initialized prior to calling the function.