VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Crypto/kuznyechik.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/Crypto/kuznyechik.h
parent0b2c8b09c6eb3ddce22fa88c34a640881f8f2177 (diff)
downloadVeraCrypt-e90e24b30b379752bf6531c663085de1d2a653d7.tar.gz
VeraCrypt-e90e24b30b379752bf6531c663085de1d2a653d7.zip
Windows: Add support for Streebog (hash) and kuznyechik (encryption)
Diffstat (limited to 'src/Crypto/kuznyechik.h')
-rw-r--r--src/Crypto/kuznyechik.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/Crypto/kuznyechik.h b/src/Crypto/kuznyechik.h
new file mode 100644
index 00000000..ad67f957
--- /dev/null
+++ b/src/Crypto/kuznyechik.h
@@ -0,0 +1,26 @@
+/*
+This code is written by kerukuro for cppcrypto library (http://cppcrypto.sourceforge.net/)
+and released into public domain.
+*/
+
+/* Adapted to VeraCrypt */
+
+#ifndef CPPCRYPTO_KUZNYECHIK_H
+#define CPPCRYPTO_KUZNYECHIK_H
+
+#include "Common/Tcdefs.h"
+
+typedef struct _kuznyechik_kds
+{
+ uint64 rke[10][2];
+ uint64 rkd[10][2];
+} kuznyechik_kds;
+
+#define KUZNYECHIK_KS (sizeof(kuznyechik_kds))
+
+void kuznyechik_encrypt_block(byte* out, const byte* in, kuznyechik_kds* kds);
+void kuznyechik_decrypt_block(byte* out, const byte* in, kuznyechik_kds* kds);
+void kuznyechik_set_key(const byte* key, kuznyechik_kds *kds);
+
+
+#endif