From 57ce7aab7be0ca2c3e990eaf7d9cf3691efd1ea0 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Wed, 28 Sep 2016 00:14:05 +0200 Subject: Use properly aligned memory in code using Streebog hash implementation that uses SSE. --- src/Crypto/GostCipher.c | 2 +- src/Crypto/GostCipher.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src/Crypto') diff --git a/src/Crypto/GostCipher.c b/src/Crypto/GostCipher.c index 4d7e5070..0fd3941a 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 36afb777..6031c438 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; -- cgit v1.2.3