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>
40#if defined(BOTAN_HAS_LEGACY_EC_POINT)
100 size_t key_length()
const override;
101 size_t estimated_strength()
const override;
103 const BigInt& get_int_field(std::string_view field)
const override;
108#if defined(BOTAN_HAS_LEGACY_EC_POINT)
214 std::span<const uint8_t> key_bits,
215 bool with_modular_inverse =
false);
#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)
EC_PrivateKey & operator=(EC_PrivateKey &&other)=delete
const EC_Scalar & _private_key() const
const BigInt & private_value() const
EC_PrivateKey(EC_PrivateKey &&other)=delete
secure_vector< uint8_t > raw_private_key_bits() const final
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
bool check_key(RandomNumberGenerator &rng, bool strong) const override
const BigInt & get_int_field(std::string_view field) const final
secure_vector< uint8_t > private_key_bits() const final
const EC_Group & domain() const
std::vector< uint8_t > DER_domain() const
EC_PublicKey(const EC_PublicKey &other)=default
void set_parameter_encoding(EC_Group_Encoding enc)
EC_Point_Format m_point_encoding
EC_Group_Encoding m_domain_encoding
EC_PublicKey(EC_PublicKey &&other)=delete
AlgorithmIdentifier algorithm_identifier() const override
EC_Group_Encoding domain_format() const
std::shared_ptr< const EC_PublicKey_Data > m_public_key
std::vector< uint8_t > raw_public_key_bits() const override
void set_point_encoding(EC_Point_Format enc)
EC_PublicKey & operator=(const EC_PublicKey &other)=default
EC_Point_Format point_encoding() const
~EC_PublicKey() override=default
bool check_key(RandomNumberGenerator &rng, bool strong) const override
EC_PublicKey & operator=(EC_PublicKey &&other)=delete
std::vector< uint8_t > public_key_bits() const override
std::vector< T, secure_allocator< T > > secure_vector