11 #include <botan/xmss_wots_privatekey.h>
16 XMSS_WOTS_PrivateKey::generate(
const secure_vector<uint8_t>& priv_seed,
20 secure_vector<uint8_t>(0));
24 XMSS_Tools::concat<size_t>(priv_key[i], i, 32);
25 hash.prf(priv_key[i], priv_seed, priv_key[i]);
48 "Conflicting public key data.");
wots_keysig_t sign(const secure_vector< uint8_t > &msg, XMSS_Address &adrs)
secure_vector< uint8_t > m_public_seed
wots_keysig_t at(size_t i, XMSS_Hash &hash)
const secure_vector< uint8_t > & public_seed() const
void chain(secure_vector< uint8_t > &x, size_t start_idx, size_t steps, XMSS_Address &adrs, const secure_vector< uint8_t > &public_seed, XMSS_Hash &hash)
#define BOTAN_ASSERT(expr, assertion_made)
secure_vector< uint8_t > base_w(const secure_vector< uint8_t > &msg, size_t out_size) const
std::vector< T, secure_allocator< T >> secure_vector
size_t wots_parameter() const
XMSS_WOTS_PublicKey generate_public_key(XMSS_Address &adrs)
void set_chain_address(uint32_t value)
std::vector< secure_vector< uint8_t > > wots_keysig_t
void set_key_data(const wots_keysig_t &key_data)
const XMSS_WOTS_Parameters & wots_parameters() const
void append_checksum(secure_vector< uint8_t > &data)
ots_algorithm_t oid() const
XMSS_WOTS_Parameters m_wots_params