X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/0f00dc4c8eb47e67bc0f148c2dd109f73a451e0a..23bbea75793621e6b21fbb13c00d8223113cf7b5:/symm/tiger-mktab.c diff --git a/symm/tiger-mktab.c b/symm/tiger-mktab.c index 5029330..5ddbb03 100644 --- a/symm/tiger-mktab.c +++ b/symm/tiger-mktab.c @@ -34,11 +34,9 @@ #include "tiger-base.h" -/*----- Data structures ---------------------------------------------------*/ - /*----- Static variables --------------------------------------------------*/ -static kludge64 s[4][256]; +static kludge64 tiger_s[4][256]; /*----- Main code ---------------------------------------------------------*/ @@ -62,7 +60,7 @@ void gen(const char *buf, unsigned passes) for (i = 0; i < 256; i++) { for (j = 0; j < 4; j++) { uint32 z = 0x01010101 * i; - SET64(s[j][i], z, z); + SET64(tiger_s[j][i], z, z); } } @@ -83,15 +81,15 @@ void gen(const char *buf, unsigned passes) } for (b = 0; b < 32; b += 8) { n = U8(LO64(ss[q]) >> b); - t = (LO64(s[k][j]) ^ LO64(s[k][n])) & (0xff << b); - SET64(s[k][j], HI64(s[k][j]), LO64(s[k][j]) ^ t); - SET64(s[k][n], HI64(s[k][n]), LO64(s[k][n]) ^ t); + t = (LO64(tiger_s[k][j]) ^ LO64(tiger_s[k][n])) & (0xff << b); + SET64(tiger_s[k][j], HI64(tiger_s[k][j]), LO64(tiger_s[k][j]) ^ t); + SET64(tiger_s[k][n], HI64(tiger_s[k][n]), LO64(tiger_s[k][n]) ^ t); } for (b = 0; b < 32; b += 8) { n = U8(HI64(ss[q]) >> b); - t = (HI64(s[k][j]) ^ HI64(s[k][n])) & (0xff << b); - SET64(s[k][j], HI64(s[k][j]) ^ t, LO64(s[k][j])); - SET64(s[k][n], HI64(s[k][n]) ^ t, LO64(s[k][n])); + t = (HI64(tiger_s[k][j]) ^ HI64(tiger_s[k][n])) & (0xff << b); + SET64(tiger_s[k][j], HI64(tiger_s[k][j]) ^ t, LO64(tiger_s[k][j])); + SET64(tiger_s[k][n], HI64(tiger_s[k][n]) ^ t, LO64(tiger_s[k][n])); } } } @@ -110,36 +108,28 @@ int main(void) * S-boxes for Tiger [generated]\n\ */\n\ \n\ -#ifndef CATACOMB_TIGER_TAB_H\n\ -#define CATACOMB_TIGER_TAB_H\n\ +#include \n\ \n\ -#define TIGER_S { \\\n\ +const kludge64 tiger_s[4][256] = {\n\ { ", stdout); for (i = 0; i < 4; i++) { for (j = 0; j < 256; j++) { -#ifdef HAVE_UINT64 - printf("{ 0x%016llxull }", s[i][j].i); -#else - printf("{ 0x%08lx, 0x%08lx }", - (unsigned long)s[i][j].hi, (unsigned long)s[i][j].lo); -#endif + printf("X64(%08lx, %08lx)", + (unsigned long)HI64(tiger_s[i][j]), + (unsigned long)LO64(tiger_s[i][j])); if (j == 255) { if (i == 3) - fputs(" } \\\n}\n", stdout); + fputs(" }\n};\n", stdout); else - fputs(" }, \\\n\ - \\\n\ - { ", stdout); + fputs(" },\n\n { ", stdout); } else if (j % 2 == 1) - fputs(", \\\n ", stdout); + fputs(",\n ", stdout); else fputs(", ", stdout); } } - fputs("\n#endif\n", stdout); - if (fclose(stdout)) { fprintf(stderr, "error writing data\n"); exit(EXIT_FAILURE);