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>
45 std::vector<uint8_t> public_key_bits()
const override;
48 bool strong)
const override;
75 {
return domain().DER_encode(domain_format()); }
82 {
return m_domain_encoding; }
89 {
return m_point_encoding; }
91 size_t key_length()
const override;
92 size_t estimated_strength()
const override;
94 const BigInt& get_int_field(std::string_view field)
const override;
111 std::span<const uint8_t> key_bits);
141 const BigInt& private_value()
const;
147 const BigInt& get_int_field(std::string_view field)
const override final;
161 bool with_modular_inverse=
false);
173 std::span<const uint8_t> key_bits,
174 bool with_modular_inverse=
false);
EC_PrivateKey & operator=(const EC_PrivateKey &other)=default
EC_PrivateKey(const EC_PrivateKey &other)=default
const EC_Group & domain() const
std::vector< uint8_t > DER_domain() const
EC_PublicKey(const EC_PublicKey &other)=default
EC_Group_Encoding m_domain_encoding
virtual ~EC_PublicKey()=default
EC_Group_Encoding domain_format() const
EC_PublicKey & operator=(const EC_PublicKey &other)=default
EC_Point_Format point_encoding() const
const EC_Point & public_point() const
#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