MCUX CLNS
MCUX Crypto Library Normal Secure
 
Loading...
Searching...
No Matches
mcuxClRandom_Functions.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2020-2022 NXP */
3/* */
4/* NXP Confidential. This software is owned or controlled by NXP and may */
5/* only be used strictly in accordance with the applicable license terms. */
6/* By expressly accepting such terms or by downloading, installing, */
7/* activating and/or otherwise using the software, you are agreeing that */
8/* you have read, and that you agree to comply with and are bound by, such */
9/* license terms. If you do not agree to be bound by the applicable license */
10/* terms, then you may not retain, install, activate or otherwise use the */
11/* software. */
12/*--------------------------------------------------------------------------*/
13
19#ifndef MCUXCLRANDOM_FUNCTIONS_H_
20#define MCUXCLRANDOM_FUNCTIONS_H_
21
22#include <mcuxClConfig.h> // Exported features flags header
23
24#include <mcuxClSession.h>
25#include <mcuxClRandom_Types.h>
26#include <mcuxClBuffer.h>
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32/**********************************************************/
33/* Public APIs of mcuxClRandom */
34/**********************************************************/
60); /* init */
61
76); /* reseed */
77
95 mcuxCl_Buffer_t pOut,
96 uint32_t outLength
97); /* generate */
98
112); /* uninit */
113
127 mcuxClSession_Handle_t pSession,
129); /* health test */
130
144 mcuxClSession_Handle_t pSession,
145 uint32_t securityStrength
146); /* security strength check */
147
148
163 mcuxClSession_Handle_t pSession,
165 void *pCustomPrngState
166);
167
183); /* LE init */
184
200 mcuxClSession_Handle_t pSession,
201 mcuxCl_Buffer_t pOut,
202 uint32_t outLength
203); /* LE generate */
204
205#ifdef __cplusplus
206} /* extern "C" */
207#endif
208 /* mcuxClRandom_Functions */
212
213#endif /* MCUXCLRANDOM_FUNCTIONS_H_ */
Provides the API for the CL buffer types.
Type definitions of mcuxClRandom component.
Top-level include file for the mcuxClSession component.
uint8_t * mcuxCl_Buffer_t
Input/output buffer type.
Definition mcuxClBuffer_Pointer.h:55
mcuxClRandom_Status_t mcuxClRandom_ncInit(mcuxClSession_Handle_t pSession)
Non-cryptographic PRNG initialization function.
mcuxClRandom_Status_t mcuxClRandom_selftest(mcuxClSession_Handle_t pSession, mcuxClRandom_Mode_t mode)
Random data generator self-test function.
mcuxClRandom_Status_t mcuxClRandom_checkSecurityStrength(mcuxClSession_Handle_t pSession, uint32_t securityStrength)
Random data generator security strength check.
mcuxClRandom_Status_t mcuxClRandom_reseed(mcuxClSession_Handle_t pSession)
Random data generator reseed function.
mcuxClRandom_Status_t mcuxClRandom_generate(mcuxClSession_Handle_t pSession, mcuxCl_Buffer_t pOut, uint32_t outLength)
Random data generation function.
mcuxClRandom_Status_t mcuxClRandom_uninit(mcuxClSession_Handle_t pSession)
Random data generator uninitialization function.
mcuxClRandom_Status_t mcuxClRandom_init(mcuxClSession_Handle_t pSession, mcuxClRandom_Context_t pContext, mcuxClRandom_Mode_t mode)
Random data generator initialization function.
mcuxClRandom_Status_t mcuxClRandom_ncGenerate(mcuxClSession_Handle_t pSession, mcuxCl_Buffer_t pOut, uint32_t outLength)
Non-cryptographic PRNG data generation function.
mcuxClRandom_Status_t mcuxClRandom_ncPatch(mcuxClSession_Handle_t pSession, mcuxClRandom_CustomNcGenerateAlgorithm_t prngPatchFunction, void *pCustomPrngState)
Function to enable the PRNG patch mode.
mcuxClRandom_Status_t(* mcuxClRandom_CustomNcGenerateAlgorithm_t)(void *pCustomPrngState, mcuxCl_Buffer_t pOut, uint32_t outLength)
Interface definition for custom PRNG functions to be used by PRNG patch mode.
Definition mcuxClRandom_Types.h:99
const mcuxClRandom_ModeDescriptor_t * mcuxClRandom_Mode_t
Random data generation mode/algorithm type.
Definition mcuxClRandom_Types.h:94
uint32_t mcuxClRandom_Status_t
Type for status codes of mcuxClRandom component functions.
Definition mcuxClRandom_Types.h:48
mcuxClRandom_ContextDescriptor_t * mcuxClRandom_Context_t
Random context type.
Definition mcuxClRandom_Types.h:71
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition mcuxClSession_Types.h:113
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition mcuxCsslFlowProtection.h:125
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition mcuxCsslFlowProtection.h:81