diff options
Diffstat (limited to 'src/libs/3rdparty/botan/src/lib/rng/auto_rng/auto_rng.cpp')
-rw-r--r-- | src/libs/3rdparty/botan/src/lib/rng/auto_rng/auto_rng.cpp | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/src/libs/3rdparty/botan/src/lib/rng/auto_rng/auto_rng.cpp b/src/libs/3rdparty/botan/src/lib/rng/auto_rng/auto_rng.cpp deleted file mode 100644 index 8494f115a2..0000000000 --- a/src/libs/3rdparty/botan/src/lib/rng/auto_rng/auto_rng.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/* -* (C) 2016 Jack Lloyd -* -* Botan is released under the Simplified BSD License (see license.txt) -*/ - -#include <botan/auto_rng.h> -#include <botan/entropy_src.h> -#include <botan/hmac_drbg.h> - -#if defined(BOTAN_HAS_SYSTEM_RNG) - #include <botan/system_rng.h> -#endif - -#if !defined(BOTAN_AUTO_RNG_HMAC) -#error "No hash function defined for AutoSeeded_RNG in build.h (try enabling sha2_32)" -#endif - -namespace Botan { - -AutoSeeded_RNG::~AutoSeeded_RNG() - { - // for unique_ptr - } - -AutoSeeded_RNG::AutoSeeded_RNG(RandomNumberGenerator& underlying_rng, - size_t reseed_interval) - { - m_rng.reset(new HMAC_DRBG(MessageAuthenticationCode::create_or_throw(BOTAN_AUTO_RNG_HMAC), - underlying_rng, - reseed_interval)); - force_reseed(); - } - -AutoSeeded_RNG::AutoSeeded_RNG(Entropy_Sources& entropy_sources, - size_t reseed_interval) - { - m_rng.reset(new HMAC_DRBG(MessageAuthenticationCode::create_or_throw(BOTAN_AUTO_RNG_HMAC), - entropy_sources, - reseed_interval)); - force_reseed(); - } - -AutoSeeded_RNG::AutoSeeded_RNG(RandomNumberGenerator& underlying_rng, - Entropy_Sources& entropy_sources, - size_t reseed_interval) - { - m_rng.reset(new HMAC_DRBG( - MessageAuthenticationCode::create_or_throw(BOTAN_AUTO_RNG_HMAC), - underlying_rng, entropy_sources, reseed_interval)); - force_reseed(); - } - -AutoSeeded_RNG::AutoSeeded_RNG(size_t reseed_interval) : -#if defined(BOTAN_HAS_SYSTEM_RNG) - AutoSeeded_RNG(system_rng(), reseed_interval) -#else - AutoSeeded_RNG(Entropy_Sources::global_sources(), reseed_interval) -#endif - { - } - -void AutoSeeded_RNG::force_reseed() - { - m_rng->force_reseed(); - m_rng->next_byte(); - - if(!m_rng->is_seeded()) - { - throw Exception("AutoSeeded_RNG reseeding failed"); - } - } - -bool AutoSeeded_RNG::is_seeded() const - { - return m_rng->is_seeded(); - } - -void AutoSeeded_RNG::clear() - { - m_rng->clear(); - } - -std::string AutoSeeded_RNG::name() const - { - return m_rng->name(); - } - -void AutoSeeded_RNG::add_entropy(const uint8_t in[], size_t len) - { - m_rng->add_entropy(in, len); - } - -size_t AutoSeeded_RNG::reseed(Entropy_Sources& srcs, - size_t poll_bits, - std::chrono::milliseconds poll_timeout) - { - return m_rng->reseed(srcs, poll_bits, poll_timeout); - } - -void AutoSeeded_RNG::randomize(uint8_t output[], size_t output_len) - { - m_rng->randomize_with_ts_input(output, output_len); - } - -void AutoSeeded_RNG::randomize_with_input(uint8_t output[], size_t output_len, - const uint8_t ad[], size_t ad_len) - { - m_rng->randomize_with_input(output, output_len, ad, ad_len); - } - -} |