76 size_t reseed_interval = RandomNumberGenerator::DefaultReseedInterval);
87 size_t reseed_interval = RandomNumberGenerator::DefaultReseedInterval);
102 size_t reseed_interval = RandomNumberGenerator::DefaultReseedInterval);
104 std::string
name()
const override {
return "ChaCha_RNG"; }
106 size_t security_level()
const override;
111 void update(std::span<const uint8_t> input)
override;
113 void generate_output(std::span<uint8_t> output, std::span<const uint8_t> input)
override;
115 void clear_state()
override;
117 std::unique_ptr<MessageAuthenticationCode> m_hmac;
118 std::unique_ptr<StreamCipher> m_chacha;