diff options
Diffstat (limited to 'src/Volume/Cipher.cpp')
-rw-r--r-- | src/Volume/Cipher.cpp | 23 |
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 |