14 #include <botan/internal/xmss_wots_signature_operation.h>
21 m_priv_key(private_key),
33 m_msg_buf.size() == 0,
34 "XMSS WOTS only supports one message part of size n.");
36 for(
size_t i = 0; i < msg_len; i++)
37 m_msg_buf.push_back(msg[i]);
46 for(
const auto& node : priv_key.
sign(m_msg_buf, m_priv_key.
address()))
48 std::copy(node.begin(), node.end(), std::back_inserter(result));
const XMSS_WOTS_PrivateKey & private_key() const
wots_keysig_t sign(const secure_vector< uint8_t > &msg, XMSS_Address &adrs)
size_t element_size() const
#define BOTAN_ASSERT(expr, assertion_made)
std::vector< T, secure_allocator< T >> secure_vector
XMSS_WOTS_Parameters m_wots_params
XMSS_WOTS_Signature_Operation(const XMSS_WOTS_Addressed_PrivateKey &private_key)
secure_vector< uint8_t > sign(RandomNumberGenerator &) override
const XMSS_Address & address() const
const XMSS_WOTS_Parameters & wots_parameters() const
void update(const uint8_t msg[], size_t msg_len) override