21 std::vector<
byte>
Encrypt(const std::
string& password, const
byte *buffer, const std::
size_t buffSize) override;
22 std::vector<
byte>
Encrypt(const std::
string& password, const std::vector<
byte>& buffer) override;
23 std::vector<
byte>
Decrypt(const std::
string& password, const
byte *cipher, const std::
size_t cipherSize) override;
24 std::vector<
byte>
Decrypt(const std::
string& password, const std::vector<
byte>& cipher) override;
25 void Encrypt(const std::
string& password, const fs::path& in_filename, const fs::path& out_filename) override;
26 void Decrypt(const std::
string& password, const fs::path& in_filename, const fs::path& out_filename) override;
29 std::unique_ptr<CryptoPP::GCM<CryptoPP::
Serpent>::
Encryption> m_serpent_encryptor;
30 std::unique_ptr<CryptoPP::GCM<CryptoPP::
Serpent>::Decryption> m_serpent_decryptor;
#define NS_ENIGMA_BEGIN
Enable/Disable Assertions.
Algorithm abstract class.
Serpent(const Algorithm::Intent intent) noexcept
~Serpent() noexcept override
std::vector< byte > Decrypt(const std::string &password, const byte *cipher, const std::size_t cipherSize) override
std::vector< byte > Encrypt(const std::string &password, const byte *buffer, const std::size_t buffSize) override