8 #ifndef BOTAN_RANDOM_NUMBER_GENERATOR_H__
9 #define BOTAN_RANDOM_NUMBER_GENERATOR_H__
11 #include <botan/entropy_src.h>
12 #include <botan/exceptn.h>
33 virtual void randomize(
byte output[],
size_t length) = 0;
43 randomize(&output[0], output.
size());
62 virtual void clear() = 0;
67 virtual std::string name()
const = 0;
74 virtual void reseed(
size_t bits_to_collect) = 0;
87 virtual void add_entropy(
const byte in[],
size_t length) = 0;
93 RandomNumberGenerator& operator=(
const RandomNumberGenerator&)
105 std::string
name()
const {
return "Null_RNG"; }
virtual bool is_seeded() const
SecureVector< byte > random_vec(size_t bytes)
void add_entropy(const byte[], size_t)
virtual ~RandomNumberGenerator()
void randomize(byte[], size_t)
void add_entropy_source(EntropySource *es)