aboutsummaryrefslogtreecommitdiffstats
path: root/src/rng/hmac_rng/hmac_rng.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rng/hmac_rng/hmac_rng.h')
-rw-r--r--src/rng/hmac_rng/hmac_rng.h57
1 files changed, 0 insertions, 57 deletions
diff --git a/src/rng/hmac_rng/hmac_rng.h b/src/rng/hmac_rng/hmac_rng.h
deleted file mode 100644
index 8fee5be5a..000000000
--- a/src/rng/hmac_rng/hmac_rng.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-* HMAC RNG
-* (C) 2008,2013 Jack Lloyd
-*
-* Distributed under the terms of the Botan license
-*/
-
-#ifndef BOTAN_HMAC_RNG_H__
-#define BOTAN_HMAC_RNG_H__
-
-#include <botan/mac.h>
-#include <botan/rng.h>
-#include <vector>
-
-namespace Botan {
-
-/**
-* HMAC_RNG - based on the design described in "On Extract-then-Expand
-* Key Derivation Functions and an HMAC-based KDF" by Hugo Krawczyk
-* (henceforce, 'E-t-E')
-*
-* However it actually can be parameterized with any two MAC functions,
-* not restricted to HMAC (this variation is also described in
-* Krawczyk's paper), for instance one could use HMAC(SHA-512) as the
-* extractor and CMAC(AES-256) as the PRF.
-*/
-class BOTAN_DLL HMAC_RNG : public RandomNumberGenerator
- {
- public:
- void randomize(byte buf[], size_t len);
- bool is_seeded() const;
- void clear();
- std::string name() const;
-
- void reseed(size_t poll_bits);
- void add_entropy(const byte[], size_t);
-
- /**
- * @param extractor a MAC used for extracting the entropy
- * @param prf a MAC used as a PRF using HKDF construction
- */
- HMAC_RNG(MessageAuthenticationCode* extractor,
- MessageAuthenticationCode* prf);
- private:
- std::unique_ptr<MessageAuthenticationCode> m_extractor;
- std::unique_ptr<MessageAuthenticationCode> m_prf;
-
- size_t m_collected_entropy_estimate = 0;
- size_t m_output_since_reseed = 0;
-
- secure_vector<byte> m_K;
- u32bit m_counter = 0;
- };
-
-}
-
-#endif