![]() |
ISARA Quantum Resistant Toolkit
Version 1.1
Quantum resistant cryptographic primitives and algorithms.
|
#include <iqr_rng.h>
Data Fields | |
iqr_retval(* | initialize )(void **state, const uint8_t *seed, size_t seed_size) |
iqr_retval(* | reseed )(void *state, const uint8_t *entropy, size_t entropy_size) |
iqr_retval(* | getbytes )(void *state, uint8_t *buffer, size_t buffer_size) |
iqr_retval(* | cleanup )(void **state) |
iqr_retval(* cleanup) (void **state) |
Clean up the Random Number Generator.
Perform any clean up required before the Random Number Generator is destroyed, including zeroing and deallocating any state.
[in,out] | state | RNG state, maintained by the implementation. |
IQR_OK
or a suitable error value. iqr_retval(* getbytes) (void *state, uint8_t *buffer, size_t buffer_size) |
Get random data from the Random Number Generator.
Return buffer_size bytes in the given buffer.
[in] | state | RNG state. |
[in] | buffer | A buffer to receive the random bytes. |
[in] | buffer_size | The size of the buffer in bytes. |
IQR_OK
or a suitable error value. iqr_retval(* initialize) (void **state, const uint8_t *seed, size_t seed_size) |
Initialize the Random Number Generator.
Called to initialize the RNG using the given seed bytes.
[out] | state | RNG state, maintained by the implementation. |
[in] | seed | A buffer containing seed data. |
[in] | seed_size | The size of the seed buffer in bytes. |
IQR_OK
or a suitable error value. iqr_retval(* reseed) (void *state, const uint8_t *entropy, size_t entropy_size) |
Reseed the Random Number Generator.
Called to reseed the RNG without re-initializing it; the given entropy bytes are added to the existing entropy.
[in] | state | RNG state. |
[in] | entropy | A buffer containing additional entropy bytes. |
[in] | entropy_size | The size of the entropy buffer in bytes. |
IQR_OK
or a suitable error value. Callbacks for random number generator implementations.