8#ifndef BOTAN_CHACHA_RNG_H_
9#define BOTAN_CHACHA_RNG_H_
12#include <botan/stateful_rng.h>
13#include <botan/stream_cipher.h>
108 std::string
name()
const override {
return "ChaCha_RNG"; }
114 size_t security_level()
const override;
123 void update(std::span<const uint8_t> input)
override;
125 void generate_output(std::span<uint8_t> output, std::span<const uint8_t> input)
override;
127 void clear_state()
override;
129 std::unique_ptr<MessageAuthenticationCode> m_hmac;
130 std::unique_ptr<StreamCipher> m_chacha;
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_FUTURE_EXPLICIT
size_t max_number_of_bytes_per_request() const override
std::string name() const override
static constexpr size_t DefaultReseedInterval
size_t reseed_interval() const
Stateful_RNG(RandomNumberGenerator &rng, Entropy_Sources &entropy_sources, size_t reseed_interval)