114 return Serpent::MakePointer<Serpent>(*
this);
122 return Serpent::MakePointer<Serpent>(std::move(*
this));
132 bool DoEncrypt(std::span<const std::byte> input,
Buffer::WriteOnly& output)
const noexcept override;
148 bool DoDecrypt(std::span<const std::byte> input,
Buffer::WriteOnly& output)
const noexcept override;
Serpent-CBC crypter.
Definition serpent.hxx:64
~Serpent() noexcept
Destructor.
Serpent(Serpent &&other) noexcept=default
Move constructor.
Serpent(Secure::Password password)
Construct with a password.
Definition serpent.hxx:74
PointerType Move() noexcept override
Move this crypter into a new instance.
Definition serpent.hxx:121
Serpent(const Serpent &other)=default
Copy constructor.
Password-based symmetric crypter.
Definition generic.hxx:57
Shared, wiped container for passwords and raw key material.
Definition password.hxx:104
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