1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-13 20:08:26 -06:00

Crypto: Add support for 5 new cascades of cipher algorithms (Camellia-Kuznyechik, Camellia-Serpent, Kuznyechik-AES, Kuznyechik-Serpent-Camellia and Kuznyechik-Twofish)

This commit is contained in:
Mounir IDRASSI
2018-03-27 13:07:13 +02:00
parent da69304dc8
commit 7df9724e20
8 changed files with 406 additions and 6 deletions

View File

@@ -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 ()));
}
}