Merge pull request #142 from libtom/fix/85-part1

Fix/85 part1
This commit is contained in:
karel-m 2017-02-24 16:35:19 +01:00 committed by GitHub
commit 01bb22e865
186 changed files with 2203 additions and 2202 deletions

View File

@ -171,7 +171,7 @@ static const ulong32 SP4404[] = {
0x28280028, 0x7b7b007b, 0xc9c900c9, 0xc1c100c1, 0xe3e300e3, 0xf4f400f4, 0xc7c700c7, 0x9e9e009e, 0x28280028, 0x7b7b007b, 0xc9c900c9, 0xc1c100c1, 0xe3e300e3, 0xf4f400f4, 0xc7c700c7, 0x9e9e009e,
}; };
static ulong64 key_sigma[] = { static const ulong64 key_sigma[] = {
CONST64(0xA09E667F3BCC908B), CONST64(0xA09E667F3BCC908B),
CONST64(0xB67AE8584CAA73B2), CONST64(0xB67AE8584CAA73B2),
CONST64(0xC6EF372FE94F82BE), CONST64(0xC6EF372FE94F82BE),

View File

@ -96,9 +96,9 @@ static void decrypt(ulong32 *p, int N, ulong32 *uk)
int n, t; int n, t;
for (t = 4*(((N-1)>>2)&1), n = N; ; ) { for (t = 4*(((N-1)>>2)&1), n = N; ; ) {
switch (n<=4 ? n : ((n-1)%4)+1) { switch (n<=4 ? n : ((n-1)%4)+1) {
case 4: pi4(p, uk+t); --n; case 4: pi4(p, uk+t); --n; /* FALLTHROUGH */
case 3: pi3(p, uk+t); --n; case 3: pi3(p, uk+t); --n; /* FALLTHROUGH */
case 2: pi2(p, uk+t); --n; case 2: pi2(p, uk+t); --n; /* FALLTHROUGH */
case 1: pi1(p); --n; break; case 1: pi1(p); --n; break;
case 0: return; case 0: return;
} }

View File

@ -480,6 +480,7 @@ int safer_sk128_test(void)
for (y = 0; y < 1000; y++) safer_ecb_encrypt(buf[0], buf[0], &skey); for (y = 0; y < 1000; y++) safer_ecb_encrypt(buf[0], buf[0], &skey);
for (y = 0; y < 1000; y++) safer_ecb_decrypt(buf[0], buf[0], &skey); for (y = 0; y < 1000; y++) safer_ecb_decrypt(buf[0], buf[0], &skey);
for (y = 0; y < 8; y++) if (buf[0][y] != 0) return CRYPT_FAIL_TESTVECTOR; for (y = 0; y < 8; y++) if (buf[0][y] != 0) return CRYPT_FAIL_TESTVECTOR;
return CRYPT_OK; return CRYPT_OK;
#endif #endif
} }

View File

@ -252,16 +252,19 @@ static void h_func(const unsigned char *in, unsigned char *out, unsigned char *M
y[1] = (unsigned char)(sbox(0, (ulong32)y[1]) ^ M[4 * (6 + offset) + 1]); y[1] = (unsigned char)(sbox(0, (ulong32)y[1]) ^ M[4 * (6 + offset) + 1]);
y[2] = (unsigned char)(sbox(0, (ulong32)y[2]) ^ M[4 * (6 + offset) + 2]); y[2] = (unsigned char)(sbox(0, (ulong32)y[2]) ^ M[4 * (6 + offset) + 2]);
y[3] = (unsigned char)(sbox(1, (ulong32)y[3]) ^ M[4 * (6 + offset) + 3]); y[3] = (unsigned char)(sbox(1, (ulong32)y[3]) ^ M[4 * (6 + offset) + 3]);
/* FALLTHROUGH */
case 3: case 3:
y[0] = (unsigned char)(sbox(1, (ulong32)y[0]) ^ M[4 * (4 + offset) + 0]); y[0] = (unsigned char)(sbox(1, (ulong32)y[0]) ^ M[4 * (4 + offset) + 0]);
y[1] = (unsigned char)(sbox(1, (ulong32)y[1]) ^ M[4 * (4 + offset) + 1]); y[1] = (unsigned char)(sbox(1, (ulong32)y[1]) ^ M[4 * (4 + offset) + 1]);
y[2] = (unsigned char)(sbox(0, (ulong32)y[2]) ^ M[4 * (4 + offset) + 2]); y[2] = (unsigned char)(sbox(0, (ulong32)y[2]) ^ M[4 * (4 + offset) + 2]);
y[3] = (unsigned char)(sbox(0, (ulong32)y[3]) ^ M[4 * (4 + offset) + 3]); y[3] = (unsigned char)(sbox(0, (ulong32)y[3]) ^ M[4 * (4 + offset) + 3]);
/* FALLTHROUGH */
case 2: case 2:
y[0] = (unsigned char)(sbox(1, sbox(0, sbox(0, (ulong32)y[0]) ^ M[4 * (2 + offset) + 0]) ^ M[4 * (0 + offset) + 0])); y[0] = (unsigned char)(sbox(1, sbox(0, sbox(0, (ulong32)y[0]) ^ M[4 * (2 + offset) + 0]) ^ M[4 * (0 + offset) + 0]));
y[1] = (unsigned char)(sbox(0, sbox(0, sbox(1, (ulong32)y[1]) ^ M[4 * (2 + offset) + 1]) ^ M[4 * (0 + offset) + 1])); y[1] = (unsigned char)(sbox(0, sbox(0, sbox(1, (ulong32)y[1]) ^ M[4 * (2 + offset) + 1]) ^ M[4 * (0 + offset) + 1]));
y[2] = (unsigned char)(sbox(1, sbox(1, sbox(0, (ulong32)y[2]) ^ M[4 * (2 + offset) + 2]) ^ M[4 * (0 + offset) + 2])); y[2] = (unsigned char)(sbox(1, sbox(1, sbox(0, (ulong32)y[2]) ^ M[4 * (2 + offset) + 2]) ^ M[4 * (0 + offset) + 2]));
y[3] = (unsigned char)(sbox(0, sbox(1, sbox(1, (ulong32)y[3]) ^ M[4 * (2 + offset) + 3]) ^ M[4 * (0 + offset) + 3])); y[3] = (unsigned char)(sbox(0, sbox(1, sbox(1, (ulong32)y[3]) ^ M[4 * (2 + offset) + 3]) ^ M[4 * (0 + offset) + 3]));
/* FALLTHROUGH */
} }
mds_mult(y, out); mds_mult(y, out);
} }

View File

@ -89,16 +89,16 @@ void adler32_finish(adler32_state *ctx, void *hash, unsigned long size)
switch (size) { switch (size) {
default: default:
h[3] = ctx->s[0] & 0x0ff; h[3] = ctx->s[0] & 0x0ff;
/* no break */ /* FALLTHROUGH */
case 3: case 3:
h[2] = (ctx->s[0] >> 8) & 0x0ff; h[2] = (ctx->s[0] >> 8) & 0x0ff;
/* no break */ /* FALLTHROUGH */
case 2: case 2:
h[1] = ctx->s[1] & 0x0ff; h[1] = ctx->s[1] & 0x0ff;
/* no break */ /* FALLTHROUGH */
case 1: case 1:
h[0] = (ctx->s[1] >> 8) & 0x0ff; h[0] = (ctx->s[1] >> 8) & 0x0ff;
/* no break */ /* FALLTHROUGH */
case 0: case 0:
; ;
} }

View File

@ -20,12 +20,12 @@
#if defined(LTC_BASE64) || defined (LTC_BASE64_URL) #if defined(LTC_BASE64) || defined (LTC_BASE64_URL)
#if defined(LTC_BASE64) #if defined(LTC_BASE64)
static const char *codes_base64 = static const char * const codes_base64 =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
#endif /* LTC_BASE64 */ #endif /* LTC_BASE64 */
#if defined(LTC_BASE64_URL) #if defined(LTC_BASE64_URL)
static const char *codes_base64url = static const char * const codes_base64url =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"; "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
#endif /* LTC_BASE64_URL */ #endif /* LTC_BASE64_URL */

View File

@ -16,7 +16,7 @@
Convert error codes to ASCII strings, Tom St Denis Convert error codes to ASCII strings, Tom St Denis
*/ */
static const char *err_2_str[] = static const char * const err_2_str[] =
{ {
"CRYPT_OK", "CRYPT_OK",
"CRYPT_ERROR", "CRYPT_ERROR",

View File

@ -9,7 +9,6 @@
* Tom St Denis, tomstdenis@gmail.com, http://libtom.org * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
*/ */
#include "tomcrypt.h" #include "tomcrypt.h"
#include <stdarg.h>
/** /**

View File

@ -9,7 +9,6 @@
* Tom St Denis, tomstdenis@gmail.com, http://libtom.org * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
*/ */
#include "tomcrypt.h" #include "tomcrypt.h"
#include <stdarg.h>
/** /**

View File

@ -17,7 +17,7 @@
#ifdef LTC_DER #ifdef LTC_DER
static const char *baseten = "0123456789"; static const char * const baseten = "0123456789";
#define STORE_V(y) \ #define STORE_V(y) \
out[x++] = der_ia5_char_encode(baseten[(y/10) % 10]); \ out[x++] = der_ia5_char_encode(baseten[(y/10) % 10]); \

View File

@ -80,7 +80,6 @@ static unsigned long rng_ansic(unsigned char *buf, unsigned long len,
acc = 0; acc = 0;
bits = 8; bits = 8;
} }
acc = bits = a = b = 0;
return l; return l;
} }