10#ifndef BOTAN_SHAKE_XOF_H_
11#define BOTAN_SHAKE_XOF_H_
14#include <botan/internal/keccak_perm.h>
40 void add_data(std::span<const uint8_t> input)
final;
41 void generate_bytes(std::span<uint8_t>
output)
final;
46 bool m_output_generated;
56 std::string
name() const
final {
return "SHAKE-128"; }
58 std::unique_ptr<XOF>
copy_state() const
final {
return std::make_unique<SHAKE_128_XOF>(*
this); }
60 std::unique_ptr<XOF>
new_object() const
final {
return std::make_unique<SHAKE_128_XOF>(); }
70 std::string
name() const
final {
return "SHAKE-256"; }
72 std::unique_ptr<XOF>
copy_state() const
final {
return std::make_unique<SHAKE_256_XOF>(*
this); }
74 std::unique_ptr<XOF>
new_object() const
final {
return std::make_unique<SHAKE_256_XOF>(); }
std::string provider() const
std::string name() const final
std::unique_ptr< XOF > copy_state() const final
std::unique_ptr< XOF > new_object() const final
std::unique_ptr< XOF > copy_state() const final
std::string name() const final
std::unique_ptr< XOF > new_object() const final
size_t block_size() const final
SHAKE_XOF(size_t capacity)
bool accepts_input() const final
std::string provider() const final
std::array< uint8_t, count > output()
int(* final)(unsigned char *, CTX *)