14 #ifndef __NIST_RNG_HEADER__ 15 #define __NIST_RNG_HEADER__ 17 #if defined(__ENABLE_MOCANA_CRYPTO_INTERFACE__) 18 #include "../crypto_interface/crypto_interface_nist_ctr_drbg_priv.h" 54 randomContext **ppNewContext,
55 const ubyte* entropyInput,
56 ubyte4 keyLenBytes, ubyte4 outLenBytes,
57 const ubyte* personalization,
58 ubyte4 personalizationLen);
87 randomContext **ppNewContext,
88 ubyte4 keyLenBytes, ubyte4 outLenBytes,
89 const ubyte* entropyInput, ubyte4 entropyInputLen,
90 const ubyte* nonce, ubyte4 nonceLen,
91 const ubyte* personalization,
92 ubyte4 personalizationLen);
103 randomContext **ppNewContext);
119 randomContext *pContext,
120 const ubyte* entropyInput,
121 ubyte4 entropyInputLen,
122 const ubyte* additionalInput,
123 ubyte4 additionalInputLen);
138 randomContext* pContext,
139 const ubyte* additionalInput, ubyte4 additionalInputLen,
140 ubyte* output, ubyte4 outputLenBits);
153 randomContext *pRandomContext,
154 ubyte *pBuffer, sbyte4 bufSize);
171 ubyte4 length, ubyte *buffer);
174 #ifdef __FIPS_OPS_TEST__ 180 MOC_EXTERN
void triggerDRBGFail(
void);
186 MOC_EXTERN
void resetDRBGFail(
void);
MOC_EXTERN MSTATUS NIST_CTRDRBG_newDFContext(MOC_SYM(hwAccelDescr hwAccelCtx) randomContext **ppNewContext, ubyte4 keyLenBytes, ubyte4 outLenBytes, const ubyte *entropyInput, ubyte4 entropyInputLen, const ubyte *nonce, ubyte4 nonceLen, const ubyte *personalization, ubyte4 personalizationLen)
Allocate and initialize a new CTRDRBG context that is using a derivation function.
MOC_EXTERN MSTATUS NIST_CTRDRBG_generate(MOC_SYM(hwAccelDescr hwAccelCtx) randomContext *pContext, const ubyte *additionalInput, ubyte4 additionalInputLen, ubyte *output, ubyte4 outputLenBits)
Generate random data with optional additional input.
MOC_EXTERN sbyte4 NIST_CTRDRBG_rngFun(MOC_SYM(hwAccelDescr hwAccelCtx) void *rngFunArg, ubyte4 length, ubyte *buffer)
Callback function to generate random data.
MOC_EXTERN MSTATUS NIST_CTRDRBG_numberGenerator(MOC_SYM(hwAccelDescr hwAccelCtx) randomContext *pRandomContext, ubyte *pBuffer, sbyte4 bufSize)
Generate random data.
MOC_EXTERN MSTATUS NIST_CTRDRBG_reseed(MOC_SYM(hwAccelDescr hwAccelCtx) randomContext *pContext, const ubyte *entropyInput, ubyte4 entropyInputLen, const ubyte *additionalInput, ubyte4 additionalInputLen)
Reseed a previously instantiated CTRDRBG context.
MOC_EXTERN MSTATUS NIST_CTRDRBG_deleteContext(MOC_SYM(hwAccelDescr hwAccelCtx) randomContext **ppNewContext)
Clear and free a previously instantiated CTRDRBG context.
MOC_EXTERN MSTATUS NIST_CTRDRBG_newContext(MOC_SYM(hwAccelDescr hwAccelCtx) randomContext **ppNewContext, const ubyte *entropyInput, ubyte4 keyLenBytes, ubyte4 outLenBytes, const ubyte *personalization, ubyte4 personalizationLen)
Allocate and initialize a new CTRDRBG context that is not using a derivation function.