Botan
1.10.9
|
#include <rng.h>
Public Member Functions | |
virtual void | add_entropy (const byte in[], size_t 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 () |
SecureVector< byte > | random_vec (size_t bytes) |
virtual void | randomize (byte output[], size_t length)=0 |
RandomNumberGenerator () | |
virtual void | reseed (size_t bits_to_collect)=0 |
virtual | ~RandomNumberGenerator () |
Static Public Member Functions | |
static RandomNumberGenerator * | make_rng () |
|
inline |
|
inlinevirtual |
|
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::Null_RNG, Botan::AutoSeeded_RNG, Botan::HMAC_RNG, Botan::Randpool, and Botan::ANSI_X931_RNG.
Referenced by Botan::ANSI_X931_RNG::add_entropy(), Botan::NR_Signature_Operation::sign(), Botan::DSA_Signature_Operation::sign(), and Botan::ECDSA_Signature_Operation::sign().
|
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::Null_RNG, Botan::HMAC_RNG, Botan::AutoSeeded_RNG, Botan::Randpool, and Botan::ANSI_X931_RNG.
Referenced by Botan::ANSI_X931_RNG::add_entropy_source().
|
pure virtual |
Clear all internally held values of this RNG.
Implemented in Botan::Null_RNG, Botan::HMAC_RNG, Botan::AutoSeeded_RNG, Botan::Randpool, and Botan::ANSI_X931_RNG.
Referenced by Botan::ANSI_X931_RNG::clear().
|
inlinevirtual |
Check whether this RNG is seeded.
Reimplemented in Botan::Null_RNG, Botan::HMAC_RNG, Botan::AutoSeeded_RNG, Botan::Randpool, and Botan::ANSI_X931_RNG.
|
static |
|
pure virtual |
Return the name of this object
Implemented in Botan::Null_RNG, Botan::HMAC_RNG, Botan::AutoSeeded_RNG, Botan::Randpool, and Botan::ANSI_X931_RNG.
byte Botan::RandomNumberGenerator::next_byte | ( | ) |
Return a random byte
Definition at line 19 of file rng.cpp.
References randomize().
Referenced by Botan::random_prime().
|
inline |
Return a random vector
bytes | number of bytes in the result |
Definition at line 40 of file rng.h.
References Botan::MemoryRegion< T >::size().
Referenced by Botan::Client_Hello::Client_Hello(), Botan::Client_Key_Exchange::Client_Key_Exchange(), Botan::KeyPair::encryption_consistency_check(), Botan::generate_bcrypt(), Botan::generate_dsa_primes(), Botan::OctetString::OctetString(), Botan::Client_Key_Exchange::pre_master_secret(), Botan::BigInt::randomize(), Botan::Server_Hello::Server_Hello(), and Botan::KeyPair::signature_consistency_check().
|
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::Null_RNG, Botan::HMAC_RNG, Botan::Randpool, Botan::AutoSeeded_RNG, and Botan::ANSI_X931_RNG.
Referenced by Botan::algorithm_benchmark(), Botan::CryptoBox::encrypt(), Botan::generate_passhash9(), next_byte(), and Botan::RTSS_Share::split().
|
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::Null_RNG, Botan::HMAC_RNG, Botan::AutoSeeded_RNG, Botan::Randpool, and Botan::ANSI_X931_RNG.
Referenced by Botan::ANSI_X931_RNG::reseed().