134 return ECDH::MakePointer<ECDH>(*
this);
142 return ECDH::MakePointer<ECDH>(std::move(*
this));
150 std::optional<Secure::Password>
Share(std::string_view peerPublicKey)
const noexcept override;
153 unsigned short m_bits;
ECDH keypair.
Definition ecdh.hxx:69
ECDH shared-secret derivation.
Definition ecdh.hxx:67
ECDH(KeyPair::ECDH &&keypair, unsigned short bits=256) noexcept
Construct by moving an ECDH keypair.
Definition ecdh.hxx:94
ECDH(const KeyPair::ECDH &keypair, unsigned short bits=256) noexcept
Construct by cloning an ECDH keypair.
Definition ecdh.hxx:86
~ECDH() noexcept
Destructor.
ECDH(const ECDH &other)=default
Copy constructor.
PointerType Move() noexcept override
Move this object into a new instance.
Definition ecdh.hxx:141
ECDH(KeyPair::Generic::PointerType keypair, unsigned short bits=256) noexcept
Construct from a keypair pointer.
Definition ecdh.hxx:78
ECDH(ECDH &&other) noexcept=default
Move constructor.
std::optional< Secure::Password > Share(std::string_view peerPublicKey) const noexcept override
Derive a shared secret.
Abstract key-agreement object.
Definition generic.hxx:81
Root namespace of the StormByte suite.
#define STORMBYTE_CRYPTO_PUBLIC
Definition visibility.h:53