![]() |
Enigma 3.2.2
A Simple, Reliable and Efficient Encryption Tool
|
#include <AES.hpp>
Public Member Functions | |
AES (const Algorithm::Intent intent) noexcept | |
~AES () noexcept override | |
std::vector< byte > | Encrypt (const std::string &password, const byte *buffer, const std::size_t buffSize) override |
std::vector< byte > | Encrypt (const std::string &password, const std::vector< byte > &buffer) override |
std::vector< byte > | Decrypt (const std::string &password, const byte *cipher, const std::size_t cipherSize) override |
std::vector< byte > | Decrypt (const std::string &password, const std::vector< byte > &cipher) override |
void | Encrypt (const std::string &password, const fs::path &in_filename, const fs::path &out_filename) override |
void | Decrypt (const std::string &password, const fs::path &in_filename, const fs::path &out_filename) override |
![]() | |
ENIGMA_ENUM_CLASS_BITWISE_OPERATORS (Intent, Enigma::byte) | |
Algorithm (const Type type, const Intent intent=Intent::Encrypt|Intent::Decrypt) noexcept | |
virtual | ~Algorithm () noexcept |
Type | GetType () const noexcept |
void | SetType (const Type type) noexcept |
std::string | GetTypeString () const noexcept |
Additional Inherited Members | |
![]() | |
enum class | Intent : Enigma::byte { None = 0 << 0 , Encrypt = 1 << 1 , Decrypt = 1 << 2 , All = Encrypt | Decrypt } |
enum class | Type : byte { AES = 0x01 , Twofish , TripleDES , Blowfish , IDEA , ChaCha20Poly1305 , RSA , Camellia , Serpent } |
![]() | |
static std::unique_ptr< Algorithm > | CreateFromName (const std::string &name, const Intent intent) |
static std::unique_ptr< Algorithm > | CreateFromType (const Type type, const Intent intent) |
static std::string | AlgoTypeEnumToStr (const Algorithm::Type e) noexcept |
static std::string | GetSupportedAlgorithmsStr () noexcept |
static std::vector< std::pair< std::string, Algorithm::Type > > | GetSupportedAlgorithms () noexcept |
![]() | |
static const std::unordered_map< Type, std::string_view > | ALGORITHM_DESCRIPTIONS |
![]() | |
static std::vector< byte > | GenerateRandomIV (const std::size_t size) |
![]() | |
Type | m_type {} |
Intent | m_intent {} |
![]() | |
static std::unique_ptr< CryptoPP::AutoSeededRandomPool > | m_auto_seeded_random_pool {nullptr} |
|
explicitnoexcept |
intent | Operation, Encrypt or Decrypt |
|
overridenoexcept |
|
overridevirtual |
|
overridevirtual |
Decrypts a file with password
password | Password used in encryption |
in_filename | Filename to decrypt |
out_filename | Filename to recover |
throws | CryptoPP::Exception, std::exception on failure |
Implements Algorithm.
|
overridevirtual |
Implements Algorithm.
|
overridevirtual |
Encrypts buffer with password
password | Encryption password |
buffer | Buffer to encrypt (text, binary...) an array of bytes |
throws | CryptoPP::Exception, std::exception on failure |
Implements Algorithm.
|
overridevirtual |
Encrypts a file with password
password | Encryption password |
in_filename | Filename to encrypt |
out_filename | Filename to store encrypted cipher |
throws | CryptoPP::Exception, std::exception on failure |
Implements Algorithm.
|
overridevirtual |
Implements Algorithm.