3#include <StormByte/crypto/crypter/asymmetric/generic.hxx>
4#include <StormByte/crypto/keypair/ecc.hxx>
10namespace StormByte::Crypto::Crypter {
21 inline ECC(KeyPair::Generic::PointerType keypair):
53 virtual ~ECC() noexcept = default;
60 ECC& operator=(const
ECC& other) = default;
67 ECC& operator=(
ECC&& other) noexcept = default;
73 inline PointerType Clone() const noexcept
override {
74 return std::make_shared<ECC>(*
this);
81 inline PointerType
Move() noexcept
override {
82 return std::make_shared<ECC>(std::move(*
this));
92 bool DoEncrypt(std::span<const std::byte> input, Buffer::WriteOnly& output)
const noexcept override;
100 Buffer::Consumer DoEncrypt(Buffer::Consumer consumer, ReadMode mode)
const noexcept override;
108 bool DoDecrypt(std::span<const std::byte> input, Buffer::WriteOnly& output)
const noexcept override;
116 Buffer::Consumer DoDecrypt(Buffer::Consumer consumer, ReadMode mode)
const noexcept override;
A generic asymmetric crypter class.
Definition generic.hxx:15
An asymmetric crypter class.
Definition ecc.hxx:15
ECC(const KeyPair::ECC &keypair)
Constructor.
Definition ecc.hxx:28
ECC(KeyPair::Generic::PointerType keypair)
Constructor.
Definition ecc.hxx:21
virtual ~ECC() noexcept=default
Virtual destructor.
ECC(KeyPair::ECC &&keypair)
Constructor.
Definition ecc.hxx:35
PointerType Move() noexcept override
Move the ECC crypter.
Definition ecc.hxx:81
ECC(const ECC &other)=default
Copy constructor.
ECC(ECC &&other) noexcept=default
Move constructor.
A ECC keypair class.
Definition ecc.hxx:14
The namespace containing all the keypair-related classes.