8 #ifndef BOTAN_XMSS_WOTS_PRIVATEKEY_H_ 9 #define BOTAN_XMSS_WOTS_PRIVATEKEY_H_ 13 #include <botan/alg_id.h> 14 #include <botan/exceptn.h> 15 #include <botan/pk_keys.h> 16 #include <botan/rng.h> 17 #include <botan/xmss_wots_parameters.h> 18 #include <botan/xmss_address.h> 19 #include <botan/xmss_wots_publickey.h> 128 hash.h(idx_bytes, m_private_seed, idx_bytes);
129 return generate(idx_bytes,
hash);
162 hash.prf(result, m_private_seed, adrs.
bytes());
163 return generate(result,
hash);
270 return m_private_seed;
298 throw Not_Implemented(
"No AlgorithmIdentifier available for XMSS-WOTS.");
329 secure_vector<uint8_t> m_private_seed;
const secure_vector< uint8_t > & public_seed() const
XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, RandomNumberGenerator &rng)
XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, const secure_vector< uint8_t > &public_seed, const secure_vector< uint8_t > &private_seed)
wots_keysig_t sign(const secure_vector< uint8_t > &msg, XMSS_Address &adrs)
wots_keysig_t operator[](const XMSS_Address &adrs)
XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, const secure_vector< uint8_t > &public_seed)
wots_keysig_t at(size_t i, XMSS_Hash &hash)
void generate_public_key(XMSS_WOTS_PublicKey &pub_key, wots_keysig_t &&in_key_data, XMSS_Address &adrs)
AlgorithmIdentifier pkcs8_algorithm_identifier() const override
const secure_vector< uint8_t > & bytes() const
XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, const secure_vector< uint8_t > &public_seed, RandomNumberGenerator &rng)
wots_keysig_t generate_private_key(const secure_vector< uint8_t > &priv_seed)
XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters::ots_algorithm_t oid)
void set_private_seed(secure_vector< uint8_t > &&private_seed)
XMSS_WOTS_PublicKey generate_public_key(XMSS_Address &adrs)
std::vector< secure_vector< uint8_t > > wots_keysig_t
wots_keysig_t operator[](size_t i)
void set_key_data(const wots_keysig_t &key_data)
const secure_vector< uint8_t > & private_seed() const
secure_vector< uint8_t > private_key_bits() const override
std::vector< T, secure_allocator< T > > secure_vector
void set_private_seed(const secure_vector< uint8_t > &private_seed)
wots_keysig_t at(const XMSS_Address &adrs, XMSS_Hash &hash)
size_t element_size() const
XMSS_WOTS_Parameters m_wots_params