#include <rng.h>

Public Member Functions | |
| virtual void | add_entropy (const byte in[], u32bit length)=0 |
| virtual void | add_entropy_source (EntropySource *source)=0 |
| virtual void | clear ()=0 |
| virtual bool | is_seeded () const |
| virtual std::string | name () const =0 |
| byte | next_byte () |
| virtual void | randomize (byte output[], u32bit length)=0 |
| RandomNumberGenerator () | |
| virtual void | reseed (u32bit bits_to_collect)=0 |
| virtual | ~RandomNumberGenerator () |
Static Public Member Functions | |
| static RandomNumberGenerator * | make_rng () |
Definition at line 20 of file rng.h.
| Botan::RandomNumberGenerator::RandomNumberGenerator | ( | ) | [inline] |
| virtual Botan::RandomNumberGenerator::~RandomNumberGenerator | ( | ) | [inline, virtual] |
| virtual void Botan::RandomNumberGenerator::add_entropy | ( | const byte | in[], | |
| u32bit | length | |||
| ) | [pure virtual] |
Add entropy to this RNG.
| in | a byte array containg the entropy to be added | |
| length | the length of the byte array in |
Implemented in Botan::AutoSeeded_RNG, Botan::HMAC_RNG, Botan::Randpool, Botan::Null_RNG, and Botan::ANSI_X931_RNG.
Referenced by Botan::ANSI_X931_RNG::add_entropy(), Botan::AutoSeeded_RNG::add_entropy(), Botan::NR_Signature_Operation::sign(), Botan::ECDSA_Signature_Operation::sign(), and Botan::DSA_Signature_Operation::sign().
| virtual void Botan::RandomNumberGenerator::add_entropy_source | ( | EntropySource * | source | ) | [pure virtual] |
Add this entropy source to the RNG object
| source | the entropy source which will be retained and used by RNG |
Implemented in Botan::AutoSeeded_RNG, Botan::HMAC_RNG, Botan::Randpool, Botan::Null_RNG, and Botan::ANSI_X931_RNG.
Referenced by Botan::ANSI_X931_RNG::add_entropy_source(), and Botan::AutoSeeded_RNG::add_entropy_source().
| virtual void Botan::RandomNumberGenerator::clear | ( | ) | [pure virtual] |
Clear all internally held values of this RNG.
Implemented in Botan::AutoSeeded_RNG, Botan::HMAC_RNG, Botan::Randpool, Botan::Null_RNG, and Botan::ANSI_X931_RNG.
Referenced by Botan::ANSI_X931_RNG::clear(), and Botan::AutoSeeded_RNG::clear().
| virtual bool Botan::RandomNumberGenerator::is_seeded | ( | ) | const [inline, virtual] |
Check whether this RNG is seeded.
Reimplemented in Botan::AutoSeeded_RNG, Botan::HMAC_RNG, Botan::Randpool, Botan::Null_RNG, and Botan::ANSI_X931_RNG.
Definition at line 45 of file rng.h.
Referenced by Botan::AutoSeeded_RNG::is_seeded().
| RandomNumberGenerator * Botan::RandomNumberGenerator::make_rng | ( | ) | [static] |
Create a seeded and active RNG object for general application use
Definition at line 29 of file rng.cpp.
00030 { 00031 #if defined(BOTAN_HAS_AUTO_SEEDING_RNG) 00032 return new AutoSeeded_RNG; 00033 #endif 00034 00035 throw Algorithm_Not_Found("RandomNumberGenerator::make_rng - no RNG found"); 00036 }
| virtual std::string Botan::RandomNumberGenerator::name | ( | ) | const [pure virtual] |
Return the name of this object
Implemented in Botan::AutoSeeded_RNG, Botan::HMAC_RNG, Botan::Randpool, Botan::Null_RNG, and Botan::ANSI_X931_RNG.
Referenced by Botan::AutoSeeded_RNG::name().
| byte Botan::RandomNumberGenerator::next_byte | ( | ) |
Return a random byte
Definition at line 19 of file rng.cpp.
References randomize().
Referenced by Botan::random_prime().
| virtual void Botan::RandomNumberGenerator::randomize | ( | byte | output[], | |
| u32bit | length | |||
| ) | [pure virtual] |
Randomize a byte array.
| output | the byte array to hold the random output. | |
| length | the length of the byte array output. |
Implemented in Botan::AutoSeeded_RNG, Botan::HMAC_RNG, Botan::Randpool, Botan::Null_RNG, and Botan::ANSI_X931_RNG.
Referenced by Botan::algorithm_benchmark(), Botan::Client_Hello::Client_Hello(), Botan::Client_Key_Exchange::Client_Key_Exchange(), Botan::CryptoBox::encrypt(), Botan::KeyPair::encryption_consistency_check(), Botan::generate_dsa_primes(), Botan::generate_passhash9(), next_byte(), Botan::OctetString::OctetString(), Botan::Client_Key_Exchange::pre_master_secret(), Botan::AutoSeeded_RNG::randomize(), Botan::BigInt::randomize(), Botan::Server_Hello::Server_Hello(), Botan::KeyPair::signature_consistency_check(), and Botan::RTSS_Share::split().
| virtual void Botan::RandomNumberGenerator::reseed | ( | u32bit | bits_to_collect | ) | [pure virtual] |
Seed this RNG using the entropy sources it contains.
| bits_to_collect | is the number of bits of entropy to attempt to gather from the entropy sources |
Implemented in Botan::AutoSeeded_RNG, Botan::HMAC_RNG, Botan::Randpool, Botan::Null_RNG, and Botan::ANSI_X931_RNG.
Referenced by Botan::ANSI_X931_RNG::reseed(), and Botan::AutoSeeded_RNG::reseed().
1.5.8