From 3c18d54d1e3f10462ccdb2d44f220db1ee021477 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Wed, 30 Jan 2019 11:48:07 +0100 Subject: Windows driver: replace SHA512 by RIPEMD160 when calculating internal hash of master key to avoid calling KeSaveFloatingPointState/KeSaveExtendedProcessorState since SHA512 implementation uses SSE2/AVX and RIPEMD160 is pure C --- src/Common/Crypto.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Common/Crypto.h') diff --git a/src/Common/Crypto.h b/src/Common/Crypto.h index 27bc723f..a362f5d1 100644 --- a/src/Common/Crypto.h +++ b/src/Common/Crypto.h @@ -246,7 +246,7 @@ typedef struct CRYPTO_INFO_t uint16 HeaderVersion; #ifdef TC_WINDOWS_DRIVER - unsigned __int8 master_keydata_hash[SHA512_DIGESTSIZE]; + unsigned __int8 master_keydata_hash[RIPEMD160_DIGESTSIZE]; #else CRYPTOPP_ALIGN_DATA(16) unsigned __int8 master_keydata[MASTER_KEYDATA_SIZE]; /* This holds the volume header area containing concatenated master key(s) and secondary key(s) (XTS mode). For LRW (deprecated/legacy), it contains the tweak key before the master key(s). For CBC (deprecated/legacy), it contains the IV seed before the master key(s). */ CRYPTOPP_ALIGN_DATA(16) unsigned __int8 k2[MASTER_KEYDATA_SIZE]; /* For XTS, this contains the secondary key (if cascade, multiple concatenated). For LRW (deprecated/legacy), it contains the tweak key. For CBC (deprecated/legacy), it contains the IV seed. */ -- cgit v1.2.3