VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Volume/Cipher.cpp
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2016-09-25 22:37:45 +0200
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2016-10-17 18:40:16 +0200
commitb65eabe23d5910a26d741439b1f5ea45ba4a0777 (patch)
treebd63c2de5b151657d294f1a56040fc4c6db4c893 /src/Volume/Cipher.cpp
parentd18ecc1a37b5f83d70b204f0bcb097fb8525314f (diff)
downloadVeraCrypt-b65eabe23d5910a26d741439b1f5ea45ba4a0777.tar.gz
VeraCrypt-b65eabe23d5910a26d741439b1f5ea45ba4a0777.zip
Add test vectors for Kuznyechik and GOST89 (the later is deprecated)
Diffstat (limited to 'src/Volume/Cipher.cpp')
-rw-r--r--src/Volume/Cipher.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/Volume/Cipher.cpp b/src/Volume/Cipher.cpp
index 69449088..3363f640 100644
--- a/src/Volume/Cipher.cpp
+++ b/src/Volume/Cipher.cpp
@@ -286,7 +286,28 @@ namespace VeraCrypt
void CipherGost89::SetCipherKey (const byte *key)
{
- gost_set_key (key, (gost_kds *) ScheduledKey.Ptr());
+ gost_set_key (key, (gost_kds *) ScheduledKey.Ptr(), 1);
+ }
+
+ // GOST89 with static SBOX
+ void CipherGost89StaticSBOX::Decrypt (byte *data) const
+ {
+ gost_decrypt (data, data, (gost_kds *) ScheduledKey.Ptr(), 1);
+ }
+
+ void CipherGost89StaticSBOX::Encrypt (byte *data) const
+ {
+ gost_encrypt (data, data, (gost_kds *) ScheduledKey.Ptr(), 1);
+ }
+
+ size_t CipherGost89StaticSBOX::GetScheduledKeySize () const
+ {
+ return GOST_KS;
+ }
+
+ void CipherGost89StaticSBOX::SetCipherKey (const byte *key)
+ {
+ gost_set_key (key, (gost_kds *) ScheduledKey.Ptr(), 0);
}
// Kuznyechik