|
| TripleDES (const Algorithm::Intent intent) noexcept |
|
| ~TripleDES () 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 |
|
|
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} |
|
TripleDES Algorithm Encryptor/Decryptor
TripleDES, TDEA or 3DES, is multiple applications of the DES algorithm to plain text data to increase the security of the original DES algorithm.As the name implies, the DES algorithm is applied 3 times.There are two variants of TripleDES : the first is two key;and the second is three key. 2 - key TDEA provides approximately 80 bits of security, while 3 - key TDEA provides approximately 112 bits of security.In contrast, AES provides a minimum security level of 128.
Definition at line 13 of file TripleDES.hpp.