3#include <StormByte/crypto/crypter/symmetric/generic.hxx>
9namespace StormByte::Crypto::Crypter {
20 inline TwoFish(
const std::string& password):
58 inline PointerType Clone() const noexcept
override {
59 return std::make_shared<TwoFish>(*
this);
66 inline PointerType
Move() noexcept
override {
67 return std::make_shared<TwoFish>(std::move(*
this));
77 bool DoEncrypt(std::span<const std::byte> input, Buffer::WriteOnly& output)
const noexcept override;
85 Buffer::Consumer DoEncrypt(Buffer::Consumer consumer, ReadMode mode)
const noexcept override;
93 bool DoDecrypt(std::span<const std::byte> input, Buffer::WriteOnly& output)
const noexcept override;
101 Buffer::Consumer DoDecrypt(Buffer::Consumer consumer, ReadMode mode)
const noexcept override;
A generic symmetric crypter class.
Definition generic.hxx:16
A symmetric crypter class.
Definition twofish.hxx:14
TwoFish(const std::string &password)
Constructor.
Definition twofish.hxx:20
PointerType Move() noexcept override
Move the TwoFish crypter.
Definition twofish.hxx:66
TwoFish(const TwoFish &other)=default
Copy constructor.
virtual ~TwoFish() noexcept=default
Virtual destructor.
TwoFish(TwoFish &&other) noexcept=default
Move constructor.