#include "tiger-base.h"
-/*----- Data structures ---------------------------------------------------*/
-
/*----- Static variables --------------------------------------------------*/
-static kludge64 s[4][256];
+static kludge64 tiger_s[4][256];
/*----- Main code ---------------------------------------------------------*/
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);
}
}
}
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]));
}
}
}
* S-boxes for Tiger [generated]\n\
*/\n\
\n\
-#ifndef CATACOMB_TIGER_TAB_H\n\
-#define CATACOMB_TIGER_TAB_H\n\
+#include <mLib/bits.h>\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);