9#ifndef BOTAN_SP_HASH_SHAKE_H_
10#define BOTAN_SP_HASH_SHAKE_H_
12#include <botan/internal/sp_hash.h>
14#include <botan/internal/shake.h>
32 std::span<const uint8_t> message)
override {
36 m_h_msg_hash.
update(message);
44 m_seeded_hash(sphincs_params.n() * 8),
45 m_hash(sphincs_params.n() * 8),
46 m_h_msg_hash(8 * sphincs_params.h_msg_digest_bytes()) {
53 std::span<const uint8_t> in)
override {
void update(const uint8_t in[], size_t length)
std::vector< uint8_t > final_stdvec()
void final(uint8_t out[])
std::string name() const override
std::array< uint8_t, 32 > to_bytes() const
Sphincs_Hash_Functions_Shake(const Sphincs_Parameters &sphincs_params, const SphincsPublicSeed &pub_seed)
std::string msg_hash_function_name() const override
void PRF_msg(StrongSpan< SphincsMessageRandomness > out, const SphincsSecretPRF &sk_prf, const SphincsOptionalRandomness &opt_rand, std::span< const uint8_t > in) override
const SphincsPublicSeed & m_pub_seed
Gf448Elem root(const Gf448Elem &elem)
Compute the root of elem in the field.