11#ifndef BOTAN_HSS_LMS_H_
12#define BOTAN_HSS_LMS_H_
14#include <botan/pk_keys.h>
21class HSS_LMS_PublicKeyInternal;
22class HSS_LMS_PrivateKeyInternal;
43 size_t key_length()
const override;
45 std::string algo_name()
const override;
47 size_t estimated_strength()
const override;
49 OID object_identifier()
const override;
51 std::vector<uint8_t> raw_public_key_bits()
const override;
52 std::vector<uint8_t> public_key_bits()
const override;
54 std::unique_ptr<PK_Ops::Verification> create_verification_op(std::string_view params,
55 std::string_view provider)
const override;
57 std::unique_ptr<PK_Ops::Verification> create_x509_verification_op(
const AlgorithmIdentifier& signature_algorithm,
58 std::string_view provider)
const override;
70 std::shared_ptr<HSS_LMS_PublicKeyInternal>
m_public;
136 std::unique_ptr<Public_Key> public_key()
const override;
145 std::optional<uint64_t> remaining_operations()
const override;
150 std::string_view params,
151 std::string_view provider)
const override;
156 std::shared_ptr<HSS_LMS_PrivateKeyInternal> m_private;
bool stateful_operation() const override
~HSS_LMS_PrivateKey() override
~HSS_LMS_PublicKey() override
HSS_LMS_PublicKey()=default
std::shared_ptr< HSS_LMS_PublicKeyInternal > m_public
int(* final)(unsigned char *, CTX *)
#define BOTAN_DIAGNOSTIC_POP
#define BOTAN_DIAGNOSTIC_PUSH
#define BOTAN_DIAGNOSTIC_IGNORE_INHERITED_VIA_DOMINANCE
#define BOTAN_PUBLIC_API(maj, min)
std::vector< T, secure_allocator< T > > secure_vector