ISARA Radiate Security Solution Suite Toolkit Edition Version 1.5

Quantum-safe cryptographic primitives and algorithms.

iqr_RNGCallbacks Struct Reference

#include <iqr_rng.h>

Data Fields

iqr_retval(* initialize )(void **state, const uint8_t *seed, size_t seed_size)
 Initialize the Random Number Generator. More...
 
iqr_retval(* reseed )(void *state, const uint8_t *entropy, size_t entropy_size)
 Reseed the Random Number Generator. More...
 
iqr_retval(* getbytes )(void *state, uint8_t *buf, size_t buf_size)
 Get random data from the Random Number Generator. More...
 
iqr_retval(* cleanup )(void **state)
 Clean up the Random Number Generator. More...
 

Field Documentation

◆ cleanup

iqr_retval(* cleanup) (void **state)

Clean up the Random Number Generator.

Perform any clean up required before the Random Number Generator is destroyed, including clearing and deallocating any state.

Parameters
[in,out]stateRNG state, maintained by the implementation.
Returns
IQR_OK or a suitable error value.

◆ getbytes

iqr_retval(* getbytes) (void *state, uint8_t *buf, size_t buf_size)

Get random data from the Random Number Generator.

Return buf_size bytes in the given buf.

Parameters
[in]stateRNG state.
[in]bufA buffer to receive the random bytes.
[in]buf_sizeThe size of buf in bytes.
Returns
IQR_OK or a suitable error value.

◆ initialize

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.

Parameters
[out]stateRNG state, maintained by the implementation.
[in]seedA buffer containing seed data.
[in]seed_sizeThe size of seed in bytes.
Returns
IQR_OK or a suitable error value.

◆ reseed

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.

Parameters
[in]stateRNG state.
[in]entropyA buffer containing additional entropy bytes.
[in]entropy_sizeThe size of entropy in bytes.
Returns
IQR_OK or a suitable error value.

Detailed Description

Callbacks for random number generator implementations.