Botan
1.10.17
src
rng
auto_rng
auto_rng.h
Go to the documentation of this file.
1
/*
2
* Auto Seeded RNG
3
* (C) 2008 Jack Lloyd
4
*
5
* Distributed under the terms of the Botan license
6
*/
7
8
#ifndef BOTAN_AUTO_SEEDING_RNG_H__
9
#define BOTAN_AUTO_SEEDING_RNG_H__
10
11
#include <botan/rng.h>
12
#include <botan/libstate.h>
13
#include <string>
14
15
namespace
Botan
{
16
17
/**
18
* An automatically seeded PRNG
19
*/
20
class
BOTAN_DLL
AutoSeeded_RNG
:
public
RandomNumberGenerator
21
{
22
public
:
23
void
randomize
(
byte
out[],
size_t
len)
24
{ rng->randomize(out, len); }
25
26
bool
is_seeded
()
const
{
return
rng->is_seeded(); }
27
28
void
clear
() { rng->clear(); }
29
30
std::string
name
()
const
{
return
rng->name(); }
31
32
void
reseed
(
size_t
poll_bits = 256) { rng->reseed(poll_bits); }
33
34
void
add_entropy_source
(
EntropySource
* es)
35
{ rng->add_entropy_source(es); }
36
37
void
add_entropy
(
const
byte
in[],
size_t
len)
38
{ rng->add_entropy(in, len); }
39
40
AutoSeeded_RNG
() { rng = &
global_state
().
global_rng
(); }
41
private
:
42
RandomNumberGenerator
* rng;
43
};
44
45
}
46
47
#endif
Botan::AutoSeeded_RNG::is_seeded
bool is_seeded() const
Definition
auto_rng.h:26
Botan::AutoSeeded_RNG::add_entropy_source
void add_entropy_source(EntropySource *es)
Definition
auto_rng.h:34
Botan::AutoSeeded_RNG::add_entropy
void add_entropy(const byte in[], size_t len)
Definition
auto_rng.h:37
Botan::AutoSeeded_RNG::randomize
void randomize(byte out[], size_t len)
Definition
auto_rng.h:23
Botan::AutoSeeded_RNG::AutoSeeded_RNG
AutoSeeded_RNG()
Definition
auto_rng.h:40
Botan::AutoSeeded_RNG::reseed
void reseed(size_t poll_bits=256)
Definition
auto_rng.h:32
Botan::AutoSeeded_RNG::name
std::string name() const
Definition
auto_rng.h:30
Botan::AutoSeeded_RNG::clear
void clear()
Definition
auto_rng.h:28
Botan::EntropySource
Definition
entropy_src.h:123
Botan::Library_State::global_rng
RandomNumberGenerator & global_rng()
Definition
libstate.cpp:183
Botan::RandomNumberGenerator
Definition
rng.h:21
Botan::RandomNumberGenerator::RandomNumberGenerator
RandomNumberGenerator()
Definition
rng.h:89
Botan
Definition
algo_base.h:14
Botan::global_state
Library_State & global_state()
Definition
global_state.cpp:32
Generated by
1.18.0