47QSC_CPLUSPLUS_ENABLED_START
89#define QSC_CSG_256_SEED_SIZE 32ULL
95#define QSC_CSG_512_SEED_SIZE 64ULL
101#define QSC_CSG_RESEED_THRESHHOLD 1024000ULL
166QSC_CPLUSPLUS_ENABLED_END
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 common.h:520
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:66
QSC_EXPORT_API void qsc_csg_generate(qsc_csg_state *ctx, uint8_t *output, size_t otplen)
Generate pseudo-random bytes.
Definition csg.c:120
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:177
QSC_EXPORT_API void qsc_csg_dispose(qsc_csg_state *ctx)
Dispose of the DRBG state.
Definition csg.c:50
SHA3 family of hash functions.
#define QSC_KECCAK_256_RATE
The 256-bit absorption rate.
Definition sha3.h:165
The CSG state structure.
Definition csg.h:110
size_t cpos
Definition csg.h:114
size_t bctr
Definition csg.h:113
size_t rate
Definition csg.h:116
qsc_keccak_state kstate
Definition csg.h:111
size_t crmd
Definition csg.h:115
uint8_t cache[QSC_KECCAK_256_RATE]
Definition csg.h:112
bool pres
Definition csg.h:117
The Keccak state array; state array must be initialized by the caller.
Definition sha3.h:240