Enigma 3.2.2
A Simple, Reliable and Efficient Encryption Tool
Loading...
Searching...
No Matches
IDEA.hpp
Go to the documentation of this file.
1#pragma once
3
11class IDEA : public Algorithm {
12 public:
16 explicit IDEA(const Algorithm::Intent intent) noexcept;
17 ~IDEA() noexcept override;
18
19 public:
20 std::vector<byte> Encrypt(const std::string& password, const byte *buffer, const std::size_t buffSize) override;
21 std::vector<byte> Encrypt(const std::string& password, const std::vector<byte>& buffer) override;
22 std::vector<byte> Decrypt(const std::string& password, const byte *cipher, const std::size_t cipherSize) override;
23 std::vector<byte> Decrypt(const std::string& password, const std::vector<byte>& cipher) override;
24 void Encrypt(const std::string& password, const fs::path& in_filename, const fs::path& out_filename) override;
25 void Decrypt(const std::string& password, const fs::path& in_filename, const fs::path& out_filename) override;
26
27 private:
28 std::unique_ptr<CryptoPP::EAX<CryptoPP::IDEA>::Encryption> m_idea_encryptor;
29 std::unique_ptr<CryptoPP::EAX<CryptoPP::IDEA>::Decryption> m_idea_decryptor;
30};
31
#define NS_ENIGMA_BEGIN
Enable/Disable Assertions.
Definition Macros.hpp:13
#define NS_ENIGMA_END
Definition Macros.hpp:14
Algorithm abstract class.
Definition Algorithm.hpp:53
Definition IDEA.hpp:11
~IDEA() noexcept override
IDEA(const Algorithm::Intent intent) noexcept