VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Volume/Hash.h
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2016-08-09 14:25:52 +0200
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2016-08-15 01:09:11 +0200
commite90e24b30b379752bf6531c663085de1d2a653d7 (patch)
tree6ff3a18a2e9dedb9e506d67f2c560e1c8f657e47 /src/Volume/Hash.h
parent0b2c8b09c6eb3ddce22fa88c34a640881f8f2177 (diff)
downloadVeraCrypt-e90e24b30b379752bf6531c663085de1d2a653d7.tar.gz
VeraCrypt-e90e24b30b379752bf6531c663085de1d2a653d7.zip
Windows: Add support for Streebog (hash) and kuznyechik (encryption)
Diffstat (limited to 'src/Volume/Hash.h')
-rw-r--r--src/Volume/Hash.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/Volume/Hash.h b/src/Volume/Hash.h
index 139924c0..9cef9de7 100644
--- a/src/Volume/Hash.h
+++ b/src/Volume/Hash.h
@@ -139,6 +139,29 @@ namespace VeraCrypt
Whirlpool (const Whirlpool &);
Whirlpool &operator= (const Whirlpool &);
};
+
+ // Streebog
+ class Streebog : public Hash
+ {
+ public:
+ Streebog ();
+ virtual ~Streebog () { }
+
+ virtual void GetDigest (const BufferPtr &buffer);
+ virtual size_t GetBlockSize () const { return 64; }
+ virtual size_t GetDigestSize () const { return 512 / 8; }
+ virtual wstring GetName () const { return L"Streebog"; }
+ virtual wstring GetAltName () const { return L"Streebog"; }
+ virtual shared_ptr <Hash> GetNew () const { return shared_ptr <Hash> (new Streebog); }
+ virtual void Init ();
+ virtual void ProcessData (const ConstBufferPtr &data);
+
+ protected:
+
+ private:
+ Streebog (const Streebog &);
+ Streebog &operator= (const Streebog &);
+ };
}
#endif // TC_HEADER_Encryption_Hash