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;
67 virtual std::string
name()
const = 0;
74 virtual void reseed(
size_t bits_to_collect) = 0;
93 RandomNumberGenerator& operator=(
const RandomNumberGenerator&)
105 std::string
name()
const {
return "Null_RNG"; }
void add_entropy(const byte[], size_t)
void add_entropy_source(EntropySource *es)
void randomize(byte[], size_t)
virtual ~RandomNumberGenerator()
virtual void reseed(size_t bits_to_collect)=0
virtual void add_entropy_source(EntropySource *source)=0
virtual bool is_seeded() const
SecureVector< byte > random_vec(size_t bytes)
virtual void randomize(byte output[], size_t length)=0
virtual void add_entropy(const byte in[], size_t length)=0
virtual std::string name() const =0
static RandomNumberGenerator * make_rng()