VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Common/Volumes.c
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2016-01-01 00:48:39 +0100
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2016-01-03 00:14:59 +0100
commit4181283f2968ccd3efe2fa3b9e49f5b70d174926 (patch)
treed63f974b8734e1a34610528d851b8d402ff5a887 /src/Common/Volumes.c
parentbb66dac8e677e44050367c97404d10f73e992a3c (diff)
downloadVeraCrypt-4181283f2968ccd3efe2fa3b9e49f5b70d174926.tar.gz
VeraCrypt-4181283f2968ccd3efe2fa3b9e49f5b70d174926.zip
Cryptography: Set 16-byte alignment for KEY_INFO structure that is used as input for Whirlpool hash. This helps improve performance.
Diffstat (limited to 'src/Common/Volumes.c')
-rw-r--r--src/Common/Volumes.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Common/Volumes.c b/src/Common/Volumes.c
index b19b8114..93b0eacb 100644
--- a/src/Common/Volumes.c
+++ b/src/Common/Volumes.c
@@ -169,7 +169,7 @@ BOOL ReadVolumeHeaderRecoveryMode = FALSE;
int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, int selected_pkcs5_prf, int pim, BOOL truecryptMode, PCRYPTO_INFO *retInfo, CRYPTO_INFO *retHeaderCryptoInfo)
{
char header[TC_VOLUME_HEADER_EFFECTIVE_SIZE];
- KEY_INFO keyInfo;
+ CRYPTOPP_ALIGN_DATA(16) KEY_INFO keyInfo;
PCRYPTO_INFO cryptoInfo;
char dk[MASTER_KEYDATA_SIZE];
int enqPkcs5Prf, pkcs5_prf;
@@ -798,7 +798,7 @@ int CreateVolumeHeaderInMemory (HWND hwndDlg, BOOL bBoot, char *header, int ea,
unsigned __int64 encryptedAreaStart, unsigned __int64 encryptedAreaLength, uint16 requiredProgramVersion, uint32 headerFlags, uint32 sectorSize, BOOL bWipeMode)
{
unsigned char *p = (unsigned char *) header;
- static KEY_INFO keyInfo;
+ static CRYPTOPP_ALIGN_DATA(16) KEY_INFO keyInfo;
int nUserKeyLen = password->Length;
PCRYPTO_INFO cryptoInfo = crypto_open ();