* Whirlpool tables [generated]\n\
*/\n\
\n\
-#ifndef CATACOMB_WHIRLPOOL_TAB_H\n\
-#define CATACOMB_WHIRLPOOL_TAB_H\n\
+#include <mLib/bits.h>\n\
+\n\
+#if defined(HAVE_UINT64)\n\
+# define USE64\n\
+#endif\n\
+\n\
");
/* --- Write out the S-box --- */
fputs("\
/* --- The byte substitution --- */\n\
\n\
-#define WHIRLPOOL_S { \\\n\
+const octet whirlpool_s[256] = {\n\
", stdout);
for (i = 0; i < 256; i++) {
printf("0x%02x", S[i]);
if (i == 255)
- fputs(" \\\n}\n\n", stdout);
+ fputs("\n};\n\n", stdout);
else if (i % 8 == 7)
- fputs(", \\\n ", stdout);
+ fputs(",\n ", stdout);
else
fputs(", ", stdout);
}
fputs("\
/* --- The key generation constants --- */\n\
\n\
-#define WHIRLPOOL_C { \\\n\
+const kludge64 whirlpool_c[10] = {\n\
", stdout);
for (i = 0; i < 10; i++) {
printf("X64(%08lx, %08lx)",
(unsigned long)LOAD32_L(&S[i * 8 + 4]),
(unsigned long)LOAD32_L(&S[i * 8 + 0]));
if (i == 9)
- fputs(" \\\n}\n\n", stdout);
+ fputs("\n};\n\n", stdout);
else if (i % 2 == 1)
- fputs(", \\\n ", stdout);
+ fputs(",\n ", stdout);
else
fputs(", ", stdout);
}
/* --- Write out the big T tables --- */
fputs("\
+#ifdef USE64\n\
+\n\
/* --- The 64-bit big round tables --- */\n\
\n\
-#define WHIRLPOOL_T { \\\n\
+const kludge64 whirlpool_t[8][256] = {\n\
{ ", stdout);
for (j = 0; j < 8; j++) {
for (i = 0; i < 256; i++) {
printf("X64(%08lx, %08lx)", w32(j, i, 0), w32(j, i, 1));
if (i == 255) {
if (j == 7)
- fputs(" } \\\n}\n\n", stdout);
+ fputs(" }\n};\n\n", stdout);
else
- fputs(" }, \\\n\
- \\\n\
- { ", stdout);
+ fputs(" },\n\n { ", stdout);
} else if (i % 2 == 1)
- fputs(", \\\n ", stdout);
+ fputs(",\n ", stdout);
else
fputs(", ", stdout);
}
/* --- Write out the smaller U and V tables --- */
fputs("\
+#else\n\
+\n\
/* --- The 32-bit round tables --- */\n\
\n\
-#define WHIRLPOOL_U { \\\n\
+const uint32 whirlpool_u[4][256] = {\n\
{ ", stdout);
for (j = 0; j < 4; j++) {
for (i = 0; i < 256; i++) {
printf("0x%08lx", w32(j, i, 1));
if (i == 255) {
if (j == 3)
- fputs(" } \\\n}\n\n", stdout);
+ fputs(" }\n};\n\n", stdout);
else
- fputs(" }, \\\n\
- \\\n\
- { ", stdout);
+ fputs(" },\n\n { ", stdout);
} else if (i % 4 == 3)
- fputs(", \\\n ", stdout);
+ fputs(",\n ", stdout);
else
fputs(", ", stdout);
}
}
fputs("\
-#define WHIRLPOOL_V { \\\n\
+const uint32 whirlpool_v[4][256] = {\n\
{ ", stdout);
for (j = 0; j < 4; j++) {
for (i = 0; i < 256; i++) {
printf("0x%08lx", w32(j, i, 0));
if (i == 255) {
if (j == 3)
- fputs(" } \\\n}\n\n", stdout);
+ fputs(" }\n};\n\n", stdout);
else
- fputs(" }, \\\n\
- \\\n\
- { ", stdout);
+ fputs(" },\n\n { ", stdout);
} else if (i % 4 == 3)
- fputs(", \\\n ", stdout);
+ fputs(",\n ", stdout);
else
fputs(", ", stdout);
}