10#ifndef BOTAN_ECDH_KEY_H_
11#define BOTAN_ECDH_KEY_H_
13#include <botan/ecc_key.h>
29 const std::vector<uint8_t>& key_bits) :
45 std::string
algo_name()
const override {
return "ECDH"; }
51 {
return public_point().encode(PointGFp::UNCOMPRESSED); }
57 {
return public_point().encode(format); }
93 {
return ECDH_PublicKey::public_value(PointGFp::UNCOMPRESSED); }
96 {
return ECDH_PublicKey::public_value(
type); }
98 std::unique_ptr<PK_Ops::Key_Agreement>
100 const std::string& params,
101 const std::string& provider)
const override;
ECDH_PrivateKey(RandomNumberGenerator &rng, const EC_Group &domain, const BigInt &x=0)
std::vector< uint8_t > public_value() const override
std::vector< uint8_t > public_value(PointGFp::Compression_Type type) const
ECDH_PrivateKey(const AlgorithmIdentifier &alg_id, const secure_vector< uint8_t > &key_bits)
ECDH_PublicKey(const EC_Group &dom_par, const PointGFp &public_point)
std::vector< uint8_t > public_value() const
std::vector< uint8_t > public_value(PointGFp::Compression_Type format) const
std::string algo_name() const override
ECDH_PublicKey(const AlgorithmIdentifier &alg_id, const std::vector< uint8_t > &key_bits)
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
std::vector< T, secure_allocator< T > > secure_vector