int j;
printf("\
-#define TWOFISH_%s { \\\n\
+const octet twofish_%s[256] = {\n\
", name);
j = 0;
for (i = 0; i < 256; i++) {
printf("0x%02x", q->q[i]);
j = (j + 1) & 7;
if (i == 255)
- fputs(" \\\n}\n\n", stdout);
+ fputs("\n};\n\n", stdout);
else if (j == 0)
- fputs(", \\\n ", stdout);
+ fputs(",\n ", stdout);
else
fputs(", ", stdout);
}
* bytes through appropriate @q@ tables and the MDS matrix.\n\
*/\n\
\n\
-#define TWOFISH_QMDS { \\");
+const uint32 twofish_qmds[4][256] = {\
+");
for (i = 0; i < 4; i++) {
fputs(" { ", stdout);
for (j = 0; j < 256; j++) {
printf("0x%08lx", (unsigned long)t[i][j]);
if (j == 255) {
if (i == 3)
- puts(" } \\\n}");
+ puts(" }\n};");
else
- puts(" }, \\\n\
- \\");
+ puts(" },\n");
} else if (j % 4 == 3)
- fputs(", \\\n ", stdout);
+ fputs(",\n ", stdout);
else
fputs(", ", stdout);
}
* The Reed-Solomon multiplies are accelerated by using log tables.\n\
*/\n\
\n\
-#define TWOFISH_RSLOG { \\\n\
+const octet twofish_rslog[256] = {\n\
", stdout);
for (i = 0; i < 256; i++) {
printf("0x%02x", rslog[i]);
if (i == 255)
- puts(" \\\n}\n");
+ puts("\n};\n");
else if (i % 8 == 7)
- fputs(", \\\n ", stdout);
+ fputs(",\n ", stdout);
else
fputs(", ", stdout);
}
- fputs("\
-#define TWOFISH_RSEXP { \\\n\
- ", stdout);
+ printf("\
+const octet twofish_rsexp[%d] = {\n\
+ ", 255 + x + 1);
for (i = 0; i < 255 + x + 1; i++) {
printf("0x%02x", rsexp[i % 255]);
if (i == 255 + x)
- puts(" \\\n}\n");
+ puts("\n};\n");
else if (i % 8 == 7)
- fputs(", \\\n ", stdout);
+ fputs(",\n ", stdout);
else
fputs(", ", stdout);
}
fputs("\
/* --- Reed-Solomon matrix with log entries --- */\n\
\n\
-#define TWOFISH_RS { \\\n\
+const octet twofish_rs[32] = {\n\
", stdout);
for (i = 0; i < 32; i++) {
printf("0x%02x", rslog[rs[i]]);
if (i == 31)
- puts(" \\\n}\n");
+ puts("\n};");
else if (i % 8 == 7)
- fputs(", \\\n ", stdout);
+ fputs(",\n ", stdout);
else
fputs(", ", stdout);
}
* Twofish q tables [generated]\n\
*/\n\
\n\
-#ifndef CATACOMB_TWOFISH_TAB_H\n\
-#define CATACOMB_TWOFISH_TAB_H\n\
+#include <mLib/bits.h>\n\
\n\
", stdout);
");
mkq(&q0, &qt0, "qt0");
mkq(&q1, &qt1, "qt1");
- printq(&q0, "Q0");
- printq(&q1, "Q1");
+ printq(&q0, "q0");
+ printq(&q1, "q1");
/* --- The MDS/q tables --- */
/* --- Done --- */
- puts("#endif");
-
if (fclose(stdout)) {
fprintf(stderr, "error writing data\n");
exit(EXIT_FAILURE);