81 const uint16_t requested_instantiation_security_strength,
82 const uint8_t* personalization_string,
98 const uint16_t entropy_length,
const entropy_type entropy_src,
99 const uint8_t* additional_input,
100 const uint64_t add_length);
116 const uint32_t requested_number_of_bytes,
117 const uint16_t requested_security_strength,
118 const uint8_t* additionnal_input,
const uint64_t add_length);
Declaration of the Deterministic Random Bit Generator functions. Details can be found in "NIST Specia...
void random_reseed(mphell_status ret, random_state working_state, const uint16_t entropy_length, const entropy_type entropy_src, const uint8_t *additional_input, const uint64_t add_length)
Reseed the DRBG (if you want to reseed it before it does by itself)
enum random_algo random_type
Define the random algorithm (DRBG algorithm)
void random_instantiate(mphell_status ret, random_state initial_state, const uint16_t requested_instantiation_security_strength, const uint8_t *personalization_string, const uint64_t pers_length, const random_type type, const entropy_type entropy, uint64_t reseed_interval)
Instantiate one random state.
random_algo
Define the random algorithm (DRBG algorithm)
void random_generate(mphell_status ret, uint8_t *returned_bytes, random_state working_state, const uint32_t requested_number_of_bytes, const uint16_t requested_security_strength, const uint8_t *additionnal_input, const uint64_t add_length)
Gererate an array of random bits.
random_state_t random_state[1]
Address of a random_state_t structure.
void random_uninstantiate(mphell_status ret, random_state working_state)
Uninstantiate a random state.
mphell_status_t mphell_status[1]
The status is a couple (flag, information)
enum entropy_source entropy_type
Define the entropy source.
void(* stm32f4_rng)(mphell_status ret, uint8_t *data, const uint16_t length)
This function pointer must be set in the stm32f4 application before calling init_mphell.