33 explicit HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode> prf);
38 explicit HMAC_DRBG(std::string_view hmac_hash);
63 HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode> prf,
66 size_t max_number_of_bytes_per_request = 64 * 1024);
90 HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode> prf,
93 size_t max_number_of_bytes_per_request = 64 * 1024);
120 HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode> prf,
124 size_t max_number_of_bytes_per_request = 64 * 1024);
126 std::string
name()
const override;
128 size_t security_level()
const override;
133 void update(std::span<const uint8_t> input)
override;
135 void generate_output(std::span<uint8_t> output, std::span<const uint8_t> input)
override;
137 void clear_state()
override;
139 std::unique_ptr<MessageAuthenticationCode> m_mac;
142 const size_t m_max_number_of_bytes_per_request;
143 const size_t m_security_level;