X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/0f00dc4c8eb47e67bc0f148c2dd109f73a451e0a..192053f16dc688ff9d73d42b52bf35f39948c0e9:/symm/whirlpool.c diff --git a/symm/whirlpool.c b/symm/whirlpool.c index 4543287..ff517ce 100644 --- a/symm/whirlpool.c +++ b/symm/whirlpool.c @@ -33,7 +33,6 @@ #include "ghash-def.h" #include "hash.h" #include "whirlpool.h" -#include "whirlpool-tab.h" #if defined(HAVE_UINT64) # define USE64 @@ -41,12 +40,12 @@ /*----- Static variables --------------------------------------------------*/ -static const kludge64 C[10] = WHIRLPOOL_C; +extern const kludge64 whirlpool_c[10]; #ifdef USE64 -static const kludge64 T[8][256] = WHIRLPOOL_T; +extern const kludge64 whirlpool_t[8][256]; #else -static const uint32 U[4][256] = WHIRLPOOL_U, V[4][256] = WHIRLPOOL_V; +extern const uint32 whirlpool_u[4][256], whirlpool_v[4][256]; #endif /*----- Main code ---------------------------------------------------------*/ @@ -69,7 +68,7 @@ static const uint32 U[4][256] = WHIRLPOOL_U, V[4][256] = WHIRLPOOL_V; (LO64(x) >> ((j) * 8)) : \ (HI64(x) >> ((j) * 8 - 32))) -#define TT(v, i, j) T[j][BYTE(v[OFFSET(i, j)], j)] +#define TT(v, i, j) whirlpool_t[j][BYTE(v[OFFSET(i, j)], j)] #define XROW(vv, v, i) do { \ XOR64(vv[i], vv[i], TT(v, i, 1)); \ @@ -96,10 +95,10 @@ static const uint32 U[4][256] = WHIRLPOOL_U, V[4][256] = WHIRLPOOL_V; #define BYTE(x, j) U8((x) >> (((j) & 3) * 8)) -#define UUL(v, i, j) U[j & 3][BYTE(v[OFFSET(i, j)].lo, j)] -#define VVL(v, i, j) V[j & 3][BYTE(v[OFFSET(i, j)].lo, j)] -#define UUH(v, i, j) U[j & 3][BYTE(v[OFFSET(i, j)].hi, j)] -#define VVH(v, i, j) V[j & 3][BYTE(v[OFFSET(i, j)].hi, j)] +#define UUL(v, i, j) whirlpool_u[j & 3][BYTE(v[OFFSET(i, j)].lo, j)] +#define VVL(v, i, j) whirlpool_v[j & 3][BYTE(v[OFFSET(i, j)].lo, j)] +#define UUH(v, i, j) whirlpool_u[j & 3][BYTE(v[OFFSET(i, j)].hi, j)] +#define VVH(v, i, j) whirlpool_v[j & 3][BYTE(v[OFFSET(i, j)].hi, j)] #define XROW(vv, v, i) do { \ vv[i].lo ^= UUL(v, i, 1); vv[i].hi ^= VVL(v, i, 1); \ @@ -138,7 +137,7 @@ static const uint32 U[4][256] = WHIRLPOOL_U, V[4][256] = WHIRLPOOL_V; void whirlpool_compress(whirlpool_ctx *ctx, const void *sbuf) { kludge64 m[8], k[8], kk[8], v[8], vv[8]; - const kludge64 *c = C; + const kludge64 *c = whirlpool_c; const octet *s = sbuf; int i;