207 Generic(type), m_keypair(keypair) {}
215 Generic(type), m_keypair(keypair.Clone()) {}
Keypair-based asymmetric crypter.
Definition generic.hxx:65
bool Encrypt(const Buffer::ReadOnly &input, Buffer::WriteOnly &output, Strategy strategy=Strategy::Native) const noexcept
Encrypt a read-only buffer (copy).
bool Encrypt(Buffer::ReadOnly &input, Buffer::WriteOnly &output, Strategy strategy=Strategy::Native) const noexcept
Encrypt a buffer, consuming it.
Asymmetric(enum Type type, const KeyPair::Generic &keypair)
Construct by cloning a keypair.
Definition generic.hxx:214
Asymmetric(Asymmetric &&other) noexcept=default
Move constructor.
bool Decrypt(const Buffer::ReadOnly &input, Buffer::WriteOnly &output) const noexcept
Decrypt a read-only buffer (copy).
bool Encrypt(std::span< const std::byte > input, Buffer::WriteOnly &output, Strategy strategy=Strategy::Native) const noexcept
Encrypt a byte span.
Buffer::Consumer Decrypt(Buffer::Consumer consumer, ReadMode mode=ReadMode::Move) const noexcept
Decrypt a Consumer.
Buffer::Consumer Encrypt(Buffer::Consumer consumer, Strategy strategy=Strategy::Native, ReadMode mode=ReadMode::Move) const noexcept
Encrypt a Consumer.
Asymmetric(const Asymmetric &other)=default
Copy constructor.
Strategy
How payload bytes are sealed.
Definition generic.hxx:71
Asymmetric(enum Type type, KeyPair::Generic &&keypair)
Construct by moving a keypair.
Definition generic.hxx:222
virtual ~Asymmetric() noexcept override
Destructor.
KeyPair::Generic::PointerType m_keypair
Shared keypair.
Definition generic.hxx:199
Asymmetric(enum Type type, KeyPair::Generic::PointerType keypair)
Construct from a keypair pointer.
Definition generic.hxx:206
bool Decrypt(Buffer::ReadOnly &input, Buffer::WriteOnly &output) const noexcept
Decrypt a buffer, consuming it.
bool Decrypt(std::span< const std::byte > input, Buffer::WriteOnly &output) const noexcept
Decrypt a byte span.
Abstract crypter.
Definition generic.hxx:85
Abstract keypair.
Definition generic.hxx:99
Generic::PointerType Create(enum Type type, KeyPair::Generic::PointerType keypair) noexcept
Factory from a keypair pointer.
ReadMode
How a source buffer is consumed.
Definition typedefs.hxx:57
Root namespace of the StormByte suite.
#define STORMBYTE_CRYPTO_PUBLIC
Definition visibility.h:53