11 #include <botan/xmss_wots.h>
12 #include <botan/internal/xmss_address.h>
26 for(
size_t i = start_idx;
34 hash.
prf(prf_output, seed, adrs.
bytes());
35 xor_buf(result, prf_output, result.size());
41 hash.
prf(prf_output, seed, adrs.
bytes());
42 hash.
f(result, prf_output, result);
void f(secure_vector< uint8_t > &result, const secure_vector< uint8_t > &key, const secure_vector< uint8_t > &data)
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)
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
void xor_buf(uint8_t out[], const uint8_t in[], size_t length)
void prf(secure_vector< uint8_t > &result, const secure_vector< uint8_t > &key, const secure_vector< uint8_t > &data)
size_t wots_parameter() const
void set_chain_address(uint32_t value)
std::vector< secure_vector< uint8_t > > wots_keysig_t
size_t output_length() const
void append_checksum(secure_vector< uint8_t > &data)
void set_key_mask_mode(Key_Mask value)
const secure_vector< uint8_t > & bytes() const
void set_hash_address(uint32_t value)
XMSS_WOTS_Parameters m_wots_params