11#ifndef BOTAN_SP_XMSS_H_
12#define BOTAN_SP_XMSS_H_
14#include <botan/internal/sp_types.h>
21class Sphincs_Hash_Functions;
22class Sphincs_Parameters;
34 Sphincs_Address& wots_addr,
35 Sphincs_Address& tree_addr,
36 std::optional<TreeNodeIndex> idx_leaf,
37 const Sphincs_Parameters& params,
38 Sphincs_Hash_Functions& hashes);
43 Sphincs_Hash_Functions& hashes);
SphincsTreeNode xmss_sign_and_pkgen(StrongSpan< SphincsXmssSignature > out_sig, const SphincsTreeNode &root, const SphincsSecretSeed &secret_seed, Sphincs_Address &wots_addr, Sphincs_Address &tree_addr, std::optional< TreeNodeIndex > idx_leaf, const Sphincs_Parameters ¶ms, Sphincs_Hash_Functions &hashes)
Gf448Elem root(const Gf448Elem &elem)
Compute the root of elem in the field.
Strong< std::vector< uint8_t >, struct SphincsTreeNode_ > SphincsTreeNode
Either an XMSS or FORS tree node or leaf.
SphincsTreeNode xmss_gen_root(const Sphincs_Parameters ¶ms, const SphincsSecretSeed &secret_seed, Sphincs_Hash_Functions &hashes)
Strong< secure_vector< uint8_t >, struct SphincsSecretSeed_ > SphincsSecretSeed