diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2018-03-27 13:07:13 +0200 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2018-03-27 16:15:57 +0200 |
commit | 7df9724e20005ccdd3e5daaeebf80eb0c5c46083 (patch) | |
tree | d08000aff2875a6d68b997bef45a528cd76d98e4 /src/Volume/EncryptionAlgorithm.cpp | |
parent | da69304dc8f98d00b14bfe2de32f14b1c9b7533f (diff) | |
download | VeraCrypt-7df9724e20005ccdd3e5daaeebf80eb0c5c46083.tar.gz VeraCrypt-7df9724e20005ccdd3e5daaeebf80eb0c5c46083.zip |
Crypto: Add support for 5 new cascades of cipher algorithms (Camellia-Kuznyechik, Camellia-Serpent, Kuznyechik-AES, Kuznyechik-Serpent-Camellia and Kuznyechik-Twofish)
Diffstat (limited to 'src/Volume/EncryptionAlgorithm.cpp')
-rw-r--r-- | src/Volume/EncryptionAlgorithm.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/Volume/EncryptionAlgorithm.cpp b/src/Volume/EncryptionAlgorithm.cpp index e36b500c..b94f69fa 100644 --- a/src/Volume/EncryptionAlgorithm.cpp +++ b/src/Volume/EncryptionAlgorithm.cpp @@ -69,6 +69,11 @@ namespace VeraCrypt l.push_back (shared_ptr <EncryptionAlgorithm> (new Kuznyechik ())); l.push_back (shared_ptr <EncryptionAlgorithm> (new AESTwofish ())); l.push_back (shared_ptr <EncryptionAlgorithm> (new AESTwofishSerpent ())); + l.push_back (shared_ptr <EncryptionAlgorithm> (new CamelliaKuznyechik ())); + l.push_back (shared_ptr <EncryptionAlgorithm> (new CamelliaSerpent ())); + l.push_back (shared_ptr <EncryptionAlgorithm> (new KuznyechikAES ())); + l.push_back (shared_ptr <EncryptionAlgorithm> (new KuznyechikSerpentCamellia ())); + l.push_back (shared_ptr <EncryptionAlgorithm> (new KuznyechikTwofish ())); l.push_back (shared_ptr <EncryptionAlgorithm> (new SerpentAES ())); l.push_back (shared_ptr <EncryptionAlgorithm> (new SerpentTwofishAES ())); l.push_back (shared_ptr <EncryptionAlgorithm> (new TwofishSerpent ())); @@ -314,4 +319,50 @@ namespace VeraCrypt SupportedModes.push_back (shared_ptr <EncryptionMode> (new EncryptionModeXTS ())); } + + // Kuznyechik-Twofish + KuznyechikTwofish::KuznyechikTwofish () + { + Ciphers.push_back (shared_ptr <Cipher> (new CipherTwofish ())); + Ciphers.push_back (shared_ptr <Cipher> (new CipherKuznyechik ())); + + SupportedModes.push_back (shared_ptr <EncryptionMode> (new EncryptionModeXTS ())); + } + + // Kuznyechik-AES + KuznyechikAES::KuznyechikAES () + { + Ciphers.push_back (shared_ptr <Cipher> (new CipherAES ())); + Ciphers.push_back (shared_ptr <Cipher> (new CipherKuznyechik ())); + + SupportedModes.push_back (shared_ptr <EncryptionMode> (new EncryptionModeXTS ())); + } + + // Kuznyechik-Serpent-Camellia + KuznyechikSerpentCamellia::KuznyechikSerpentCamellia () + { + Ciphers.push_back (shared_ptr <Cipher> (new CipherCamellia ())); + Ciphers.push_back (shared_ptr <Cipher> (new CipherSerpent ())); + Ciphers.push_back (shared_ptr <Cipher> (new CipherKuznyechik ())); + + SupportedModes.push_back (shared_ptr <EncryptionMode> (new EncryptionModeXTS ())); + } + + // Camellia-Kuznyechik + CamelliaKuznyechik::CamelliaKuznyechik () + { + Ciphers.push_back (shared_ptr <Cipher> (new CipherKuznyechik ())); + Ciphers.push_back (shared_ptr <Cipher> (new CipherCamellia ())); + + SupportedModes.push_back (shared_ptr <EncryptionMode> (new EncryptionModeXTS ())); + } + + // Camellia-Serpent + CamelliaSerpent::CamelliaSerpent () + { + Ciphers.push_back (shared_ptr <Cipher> (new CipherSerpent ())); + Ciphers.push_back (shared_ptr <Cipher> (new CipherCamellia ())); + + SupportedModes.push_back (shared_ptr <EncryptionMode> (new EncryptionModeXTS ())); + } } |