7#ifndef BOTAN_EC_KEY_DATA_H_
8#define BOTAN_EC_KEY_DATA_H_
10#include <botan/ec_apoint.h>
11#include <botan/ec_group.h>
12#include <botan/ec_scalar.h>
14#include <botan/bigint.h>
16#if defined(BOTAN_HAS_LEGACY_EC_POINT)
17 #include <botan/ec_point.h>
22class RandomNumberGenerator;
27#if defined(BOTAN_HAS_LEGACY_EC_POINT)
28 m_legacy_point = m_point.to_legacy_point();
38#if defined(BOTAN_HAS_LEGACY_EC_POINT)
39 const EC_Point& legacy_point()
const {
return m_legacy_point; }
44 EC_AffinePoint m_point;
45#if defined(BOTAN_HAS_LEGACY_EC_POINT)
46 EC_Point m_legacy_point;
58 std::shared_ptr<EC_PublicKey_Data>
public_key(
bool with_modular_inverse)
const;
64 T bytes(this->
group().get_order_bytes());
const EC_Scalar & private_key() const
const EC_Group & group() const
void serialize_to(std::span< uint8_t > output) const
std::shared_ptr< EC_PublicKey_Data > public_key(RandomNumberGenerator &rng, bool with_modular_inverse) const
const BigInt & legacy_bigint() const
EC_PrivateKey_Data(EC_Group group, EC_Scalar x)
const EC_AffinePoint & public_key() const
const EC_Group & group() const
EC_PublicKey_Data(EC_Group group, EC_AffinePoint pt)
int(* final)(unsigned char *, CTX *)