From 7df9724e20005ccdd3e5daaeebf80eb0c5c46083 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Tue, 27 Mar 2018 13:07:13 +0200 Subject: Crypto: Add support for 5 new cascades of cipher algorithms (Camellia-Kuznyechik, Camellia-Serpent, Kuznyechik-AES, Kuznyechik-Serpent-Camellia and Kuznyechik-Twofish) --- src/Volume/EncryptionAlgorithm.cpp | 51 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'src/Volume/EncryptionAlgorithm.cpp') 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 (new Kuznyechik ())); l.push_back (shared_ptr (new AESTwofish ())); l.push_back (shared_ptr (new AESTwofishSerpent ())); + l.push_back (shared_ptr (new CamelliaKuznyechik ())); + l.push_back (shared_ptr (new CamelliaSerpent ())); + l.push_back (shared_ptr (new KuznyechikAES ())); + l.push_back (shared_ptr (new KuznyechikSerpentCamellia ())); + l.push_back (shared_ptr (new KuznyechikTwofish ())); l.push_back (shared_ptr (new SerpentAES ())); l.push_back (shared_ptr (new SerpentTwofishAES ())); l.push_back (shared_ptr (new TwofishSerpent ())); @@ -314,4 +319,50 @@ namespace VeraCrypt SupportedModes.push_back (shared_ptr (new EncryptionModeXTS ())); } + + // Kuznyechik-Twofish + KuznyechikTwofish::KuznyechikTwofish () + { + Ciphers.push_back (shared_ptr (new CipherTwofish ())); + Ciphers.push_back (shared_ptr (new CipherKuznyechik ())); + + SupportedModes.push_back (shared_ptr (new EncryptionModeXTS ())); + } + + // Kuznyechik-AES + KuznyechikAES::KuznyechikAES () + { + Ciphers.push_back (shared_ptr (new CipherAES ())); + Ciphers.push_back (shared_ptr (new CipherKuznyechik ())); + + SupportedModes.push_back (shared_ptr (new EncryptionModeXTS ())); + } + + // Kuznyechik-Serpent-Camellia + KuznyechikSerpentCamellia::KuznyechikSerpentCamellia () + { + Ciphers.push_back (shared_ptr (new CipherCamellia ())); + Ciphers.push_back (shared_ptr (new CipherSerpent ())); + Ciphers.push_back (shared_ptr (new CipherKuznyechik ())); + + SupportedModes.push_back (shared_ptr (new EncryptionModeXTS ())); + } + + // Camellia-Kuznyechik + CamelliaKuznyechik::CamelliaKuznyechik () + { + Ciphers.push_back (shared_ptr (new CipherKuznyechik ())); + Ciphers.push_back (shared_ptr (new CipherCamellia ())); + + SupportedModes.push_back (shared_ptr (new EncryptionModeXTS ())); + } + + // Camellia-Serpent + CamelliaSerpent::CamelliaSerpent () + { + Ciphers.push_back (shared_ptr (new CipherSerpent ())); + Ciphers.push_back (shared_ptr (new CipherCamellia ())); + + SupportedModes.push_back (shared_ptr (new EncryptionModeXTS ())); + } } -- cgit v1.2.3