/* -*-c-*-
*
- * $Id: twofish-mktab.c,v 1.1 2000/06/17 12:10:17 mdw Exp $
+ * $Id: twofish-mktab.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
*
* Build constant tables for Twofish
*
* (c) 2000 Straylight/Edgeware
*/
-/*----- Licensing notice --------------------------------------------------*
+/*----- Licensing notice --------------------------------------------------*
*
* This file is part of Catacomb.
*
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
- *
+ *
* Catacomb is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Library General Public
* License along with Catacomb; if not, write to the Free
* Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
* MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: twofish-mktab.c,v $
- * Revision 1.1 2000/06/17 12:10:17 mdw
- * New cipher.
- *
- */
-
/*----- Header files ------------------------------------------------------*/
#include <stdio.h>
}
}
-/*----- GF(2^8) arithmetic ------------------------------------------------*/
+/*----- %$\gf{2^8}$% arithmetic -------------------------------------------*/
#define MDS_MOD 0x169
#define RS_MOD 0x14d
/* --- @mul@ --- *
*
- * Arguments: @unsigned x, y@ = polynomials over %$\mathrm{GF}(2^8)$%
+ * Arguments: @unsigned x, y@ = polynomials over %$\gf{2^8}$%
* @unsigned m@ = modulus
*
* Returns: The product of two polynomials.
* Returns: ---
*
* Use: Computes an inner product of matrices over the finite field
- * %$\mathrm{GF}(2^8)[x]/m(x)$%. This isn't particularly rapid.
+ * %$\gf{2^8}[x]/(m(x))$%. This isn't particularly rapid.
*/
static void mmul(octet *d, const octet *p, const octet *q,
puts(" }, \\\n\
\\");
} else if (j % 4 == 3)
- fputs(", \\\n ", stdout);
+ fputs(", \\\n ", stdout);
else
fputs(", ", stdout);
}
unsigned i;
rslog[0] = 0;
- for (i = 0; i < 256; i++) {
+ for (i = 0; i < 255; i++) {
rslog[x] = i;
rsexp[i] = x;
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);
else
int main(void)
{
fputs("\
-/* -*-c-*-
- *
+/* -*-c-*-\n\
+ *\n\
* Twofish q tables [generated]\n\
- */
-
-#ifndef CATACOMB_TWOFISH_TAB_H
-#define CATACOMB_TWOFISH_TAB_H
-
+ */\n\
+\n\
+#ifndef CATACOMB_TWOFISH_TAB_H\n\
+#define CATACOMB_TWOFISH_TAB_H\n\
+\n\
", stdout);
/* --- The q tables --- */