23 #ifndef LWCRYPTO_PHOTON_BEETLE_PRNG_H
24 #define LWCRYPTO_PHOTON_BEETLE_PRNG_H
49 unsigned char state[32];
size_t limit
Definition: photon-beetle-prng.h:51
State information for a PHOTON-256 based PRNG.
Definition: photon-beetle-prng.h:46
int photon_beetle_prng_fetch(photon_beetle_prng_state_t *state, unsigned char *data, size_t size)
Fetches data from a PHOTON-256 based PRNG state.
Definition: photon-beetle-prng.c:196
void photon_beetle_prng_feed(photon_beetle_prng_state_t *state, const unsigned char *data, size_t size)
Feeds data into a PHOTON-256 based PRNG state to seed it from other sources besides the system TRNG...
Definition: photon-beetle-prng.c:156
unsigned long long align
Definition: photon-beetle-prng.h:53
size_t count
Definition: photon-beetle-prng.h:50
int photon_beetle_prng_reseed(photon_beetle_prng_state_t *state)
Forces a PHOTON-256 based PRNG to re-seed from the system TRNG.
Definition: photon-beetle-prng.c:144
void photon_beetle_prng_add_ident(const unsigned char *data, size_t size)
Adds unique identification information for this device to the global pool.
Definition: photon-beetle-prng.c:115
int photon_beetle_prng_generate(unsigned char *data, size_t size)
Fetches random data using a PHOTON-256 based PRNG.
Definition: photon-beetle-prng.c:203
void photon_beetle_prng_free(photon_beetle_prng_state_t *state)
Frees a PHOTON-256 based PRNG and destroys all sensitive information.
Definition: photon-beetle-prng.c:139
int photon_beetle_prng_init(photon_beetle_prng_state_t *state)
Initializes a PHOTON-256 based PRNG.
Definition: photon-beetle-prng.c:126