1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-11 19:08:26 -06:00

Cryptography: Optimize Whirlpool implementation by using public domain assembly code developed by Wei Dai

This commit is contained in:
Mounir IDRASSI
2015-12-30 06:57:34 +01:00
parent d462806ea9
commit 0c2c0a846d
17 changed files with 1547 additions and 1170 deletions

View File

@@ -581,8 +581,8 @@ void derive_key_ripemd160 (char *pwd, int pwd_len, char *salt, int salt_len, uin
typedef struct hmac_whirlpool_ctx_struct
{
WHIRLPOOL_CTX ctx;
char buf[WHIRLPOOL_BLOCKSIZE];
char k[PKCS5_SALT_SIZE + 4]; /* enough to hold (salt_len + 4) and also the Whirlpool hash */
CRYPTOPP_ALIGN_DATA(16) char buf[WHIRLPOOL_BLOCKSIZE];
CRYPTOPP_ALIGN_DATA(16) char k[PKCS5_SALT_SIZE + 4]; /* enough to hold (salt_len + 4) and also the Whirlpool hash */
char u[WHIRLPOOL_DIGESTSIZE];
} hmac_whirlpool_ctx;

View File

@@ -52,6 +52,7 @@ typedef unsigned __int32 TC_LARGEST_COMPILER_UINT;
typedef unsigned __int64 TC_LARGEST_COMPILER_UINT;
typedef __int64 int64;
typedef unsigned __int64 uint64;
#define LL(x) x##ui64
#endif
#else // !_MSC_VER
@@ -68,6 +69,8 @@ typedef uint16_t uint16;
typedef uint32_t uint32;
typedef uint64_t uint64;
#define LL(x) x##ULL
#if UCHAR_MAX != 0xffU
#error UCHAR_MAX != 0xff
#endif