3#include <StormByte/crypto/secret/generic.hxx>
4#include <StormByte/crypto/keypair/x25519.hxx>
10namespace StormByte::Crypto::Secret {
21 inline X25519(KeyPair::Generic::PointerType keypair):
73 inline PointerType Clone() const noexcept
override {
74 return std::make_shared<X25519>(*
this);
81 inline PointerType
Move() noexcept
override {
82 return std::make_shared<X25519>(std::move(*
this));
91 std::optional<std::string> DoShare(
const std::string& peerPublicKey)
const noexcept override;
A generic secret class.
Definition generic.hxx:23
A generic secret class.
Definition x25519.hxx:15
X25519(X25519 &&other) noexcept=default
Move constructor.
X25519(const KeyPair::X25519 &keypair)
Constructor.
Definition x25519.hxx:28
X25519(const X25519 &other)=default
Copy constructor.
X25519(KeyPair::Generic::PointerType keypair)
Constructor.
Definition x25519.hxx:21
PointerType Move() noexcept override
Move the X25519 secret.
Definition x25519.hxx:81
X25519(KeyPair::X25519 &&keypair)
Constructor.
Definition x25519.hxx:35
~X25519() noexcept=default
Virtual destructor.