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;
109 const std::vector<uint8_t>& key_bits);
133 const BigInt& private_value()
const;
151 bool with_modular_inverse=
false);
164 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
PointGFp::Compression_Type point_encoding() 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
const PointGFp & public_point() const
#define BOTAN_PUBLIC_API(maj, min)
std::vector< T, secure_allocator< T > > secure_vector