8#include <botan/internal/keccak.h>
10#include <botan/exceptn.h>
11#include <botan/internal/fmt.h>
12#include <botan/internal/loadstor.h>
17 return std::make_unique<Keccak_1600>(*
this);
23 if(output_bits != 224 && output_bits != 256 && output_bits != 384 && output_bits != 512) {
29 return fmt(
"Keccak-1600({})", m_output_length * 8);
33 return std::make_unique<Keccak_1600>(m_output_length * 8);
44void Keccak_1600::add_data(std::span<const uint8_t> input) {
48void Keccak_1600::final_result(std::span<uint8_t> output) {
std::string provider() const override
std::unique_ptr< HashFunction > new_object() const override
Keccak_1600(size_t output_bits=512)
std::string name() const override
std::unique_ptr< HashFunction > copy_state() const override
void squeeze(std::span< uint8_t > output)
Expand output data from the current Keccak state.
std::string provider() const
void absorb(std::span< const uint8_t > input)
Absorb input data into the Keccak sponge.
void finish()
Add final padding (as provided in the constructor) and permute.
std::string fmt(std::string_view format, const T &... args)