8 #ifndef BOTAN_AUTO_SEEDING_RNG_H__
9 #define BOTAN_AUTO_SEEDING_RNG_H__
11 #include <botan/rng.h>
23 void randomize(uint8_t out[],
size_t len)
override;
25 void randomize_with_input(uint8_t output[],
size_t output_len,
26 const uint8_t input[],
size_t input_len)
override;
28 bool is_seeded()
const override;
36 size_t poll_bits = BOTAN_RNG_RESEED_POLL_BITS,
37 std::chrono::milliseconds poll_timeout = BOTAN_RNG_RESEED_DEFAULT_TIMEOUT)
override;
39 void add_entropy(
const uint8_t in[],
size_t len)
override;
41 std::string name()
const override;
43 void clear()
override;
52 AutoSeeded_RNG(
size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL);
63 size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL);
73 size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL);
86 size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL);
91 std::unique_ptr<Stateful_RNG>
m_rng;
RandomNumberGenerator & m_rng