10#ifndef BOTAN_ECC_PUBLIC_KEY_BASE_H_
11#define BOTAN_ECC_PUBLIC_KEY_BASE_H_
13#include <botan/ec_group.h>
14#include <botan/pk_keys.h>
19class EC_PublicKey_Data;
20class EC_PrivateKey_Data;
46 const EC_Point& public_point()
const;
50 std::vector<uint8_t> raw_public_key_bits()
const override;
52 std::vector<uint8_t> public_key_bits()
const override;
84 std::vector<uint8_t> DER_domain() const;
98 size_t key_length()
const override;
99 size_t estimated_strength()
const override;
101 const BigInt& get_int_field(std::string_view field)
const override;
156 const BigInt& private_value()
const;
164 const BigInt& get_int_field(std::string_view field)
const final;
207 std::span<const uint8_t> key_bits,
208 bool with_modular_inverse =
false);
EC_PrivateKey & operator=(EC_PrivateKey &&other)=delete
EC_PrivateKey(EC_PrivateKey &&other)=delete
EC_PrivateKey & operator=(const EC_PrivateKey &other)=default
~EC_PrivateKey() override=default
EC_PrivateKey(const EC_PrivateKey &other)=default
std::shared_ptr< const EC_PrivateKey_Data > m_private_key
EC_PublicKey(const EC_PublicKey &other)=default
EC_PublicKey(EC_PublicKey &&other)=delete
std::shared_ptr< const EC_PublicKey_Data > m_public_key
EC_PublicKey & operator=(const EC_PublicKey &other)=default
EC_Point_Format point_encoding() const
~EC_PublicKey() override=default
EC_PublicKey & operator=(EC_PublicKey &&other)=delete
#define BOTAN_DIAGNOSTIC_POP
#define BOTAN_DIAGNOSTIC_PUSH
#define BOTAN_DIAGNOSTIC_IGNORE_INHERITED_VIA_DOMINANCE
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_DEPRECATED(msg)
std::vector< T, secure_allocator< T > > secure_vector