From 0178a6d33ff6afc7d0305619d3d250235ae55d09 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Sat, 27 Sep 2014 16:04:07 +0200 Subject: Optimize code space and solve the Serpent issue (https://sourceforge.net/p/veracrypt/discussion/technical/thread/fb09633a/#6406) by removing key length parameter from serpent_set_key and twofish_set_key --- src/Crypto/Serpent.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'src/Crypto/Serpent.c') diff --git a/src/Crypto/Serpent.c b/src/Crypto/Serpent.c index ac77b397..91a4eadf 100644 --- a/src/Crypto/Serpent.c +++ b/src/Crypto/Serpent.c @@ -630,19 +630,16 @@ static void KXf (const unsigned __int32 *k, unsigned int r, unsigned __int32 *a, #ifndef TC_MINIMIZE_CODE_SIZE -void serpent_set_key(const unsigned __int8 userKey[], int keylen, unsigned __int8 *ks) +void serpent_set_key(const unsigned __int8 userKey[],unsigned __int8 *ks) { unsigned __int32 a,b,c,d,e; unsigned __int32 *k = (unsigned __int32 *)ks; unsigned __int32 t; int i; - for (i = 0; i < keylen / (int)sizeof(__int32); i++) + for (i = 0; i < 8; i++) k[i] = LE32(((unsigned __int32*)userKey)[i]); - if (keylen < 32) - k[keylen/4] |= (unsigned __int32)1 << ((keylen%4)*8); - k += 8; t = k[-1]; for (i = 0; i < 132; ++i) @@ -694,19 +691,16 @@ static void SKf (unsigned __int32 *k, unsigned int r, unsigned __int32 *a, unsig k[r + 7] = *d; } -void serpent_set_key(const unsigned __int8 userKey[], int keylen, unsigned __int8 *ks) +void serpent_set_key(const unsigned __int8 userKey[], unsigned __int8 *ks) { unsigned __int32 a,b,c,d,e; unsigned __int32 *k = (unsigned __int32 *)ks; unsigned __int32 t; int i; - for (i = 0; i < keylen / (int)sizeof(__int32); i++) + for (i = 0; i < 8; i++) k[i] = LE32(((unsigned __int32*)userKey)[i]); - if (keylen < 32) - k[keylen/4] |= (unsigned __int32)1 << ((keylen%4)*8); - k += 8; t = k[-1]; for (i = 0; i < 132; ++i) -- cgit v1.2.3