3#include <StormByte/crypto/signer/generic.hxx>
4#include <StormByte/crypto/keypair/ed25519.hxx>
10namespace StormByte::Crypto::Signer {
22 inline ED25519(KeyPair::Generic::PointerType keypair):
76 PointerType Clone() const noexcept
override {
77 return std::make_shared<ED25519>(*
this);
84 PointerType
Move() noexcept
override {
85 return std::make_shared<ED25519>(std::move(*
this));
96 bool DoSign(std::span<const std::byte> input, Buffer::WriteOnly& output)
const noexcept override;
104 Buffer::Consumer DoSign(Buffer::Consumer consumer, ReadMode mode)
const noexcept override;
112 bool DoVerify(std::span<const std::byte> input,
const std::string& signature)
const noexcept override;
120 bool DoVerify(Buffer::Consumer consumer,
const std::string& signature, ReadMode mode)
const noexcept override;
An ED25519 keypair class.
Definition ed25519.hxx:14
A generic signer signer class.
Definition ed25519.hxx:15
ED25519(ED25519 &&other) noexcept=default
Move constructor.
ED25519(const ED25519 &other)=default
Copy constructor.
ED25519(KeyPair::Generic::PointerType keypair)
Constructor.
Definition ed25519.hxx:22
ED25519(const KeyPair::ED25519 &keypair)
Constructor.
Definition ed25519.hxx:30
ED25519(KeyPair::ED25519 &&keypair)
Constructor.
Definition ed25519.hxx:38
~ED25519() noexcept=default
Virtual destructor.
PointerType Move() noexcept override
Move the ED25519 signer.
Definition ed25519.hxx:84
A generic signer class.
Definition generic.hxx:27