58QSC_CPLUSPLUS_ENABLED_START
100#define QSC_CSG_256_SEED_SIZE 32UL
106#define QSC_CSG_512_SEED_SIZE 64UL
112#define QSC_CSG_RESEED_THRESHHOLD 1024000UL
177QSC_CPLUSPLUS_ENABLED_END
QSC_EXPORT_API void qsc_csg_initialize(qsc_csg_state *ctx, const uint8_t *seed, size_t seedlen, const uint8_t *info, size_t infolen, bool predres)
Initialize the pseudo-random provider state with a seed and optional personalization string.
Definition csg.c:74
QSC_EXPORT_API void qsc_csg_generate(qsc_csg_state *ctx, uint8_t *output, size_t otplen)
Generate pseudo-random bytes.
Definition csg.c:131
QSC_EXPORT_API void qsc_csg_update(qsc_csg_state *ctx, const uint8_t *seed, size_t seedlen)
Update the DRBG with new seed material.
Definition csg.c:193
QSC_EXPORT_API void qsc_csg_dispose(qsc_csg_state *ctx)
Dispose of the DRBG state.
Definition csg.c:58
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
#define QSC_EXPORT_API
API export macro for Microsoft compilers when importing from a DLL.
Definition qsccommon.h:605
SHA3 family of hash functions.
#define QSC_KECCAK_256_RATE
The 256-bit absorption rate.
Definition sha3.h:181
The CSG state structure.
Definition csg.h:121
size_t cpos
Definition csg.h:125
size_t bctr
Definition csg.h:124
size_t rate
Definition csg.h:127
qsc_keccak_state kstate
Definition csg.h:122
size_t crmd
Definition csg.h:126
uint8_t cache[QSC_KECCAK_256_RATE]
Definition csg.h:123
bool pres
Definition csg.h:128
The Keccak state array; state array must be initialized by the caller.
Definition sha3.h:256