VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Crypto
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2016-09-27 22:14:05 (GMT)
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2016-10-17 16:40:19 (GMT)
commit57ce7aab7be0ca2c3e990eaf7d9cf3691efd1ea0 (patch)
tree3cfd2715c14b191f2817f1bac60f8236a12cb870 /src/Crypto
parent3e029b0dde5326a4f1221c86a2050aafceaafa3e (diff)
downloadVeraCrypt-57ce7aab7be0ca2c3e990eaf7d9cf3691efd1ea0.zip
VeraCrypt-57ce7aab7be0ca2c3e990eaf7d9cf3691efd1ea0.tar.gz
Use properly aligned memory in code using Streebog hash implementation that uses SSE.
Diffstat (limited to 'src/Crypto')
-rw-r--r--src/Crypto/GostCipher.c2
-rw-r--r--src/Crypto/GostCipher.h3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/Crypto/GostCipher.c b/src/Crypto/GostCipher.c
index 4d7e507..0fd3941 100644
--- a/src/Crypto/GostCipher.c
+++ b/src/Crypto/GostCipher.c
@@ -102,7 +102,7 @@ void gost_set_key(const byte *key, gost_kds *ks, int useDynamicSbox)
#endif
//Generate pseudorandom data based on the key
STREEBOG_init(&sctx);
- STREEBOG_add(&sctx, key, 32);
+ STREEBOG_add(&sctx, ks->key, 32);
STREEBOG_finalize(&sctx, sbox_seed);
#if defined (DEVICE_DRIVER) && !defined (_WIN64)
diff --git a/src/Crypto/GostCipher.h b/src/Crypto/GostCipher.h
index 36afb77..6031c43 100644
--- a/src/Crypto/GostCipher.h
+++ b/src/Crypto/GostCipher.h
@@ -13,6 +13,7 @@
#define GOST_CIPHER_H
#include "Common/Tcdefs.h"
+#include "config.h"
#ifdef __cplusplus
extern "C" {
@@ -47,7 +48,7 @@ typedef unsigned int gst_udword;
typedef struct gost_kds
{
- byte key[32];
+ CRYPTOPP_ALIGN_DATA(16) byte key[32];
gst_udword sbox_cvt[256 * 4];
byte sbox[8][16];
} gost_kds;