X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/7a28dc19bd4e85b76f778eecd6969cc65c63cdb1..d2d54c98e2d65c46c5fe6519812aa4c6ea55ea02:/rijndael-mktab.c?ds=sidebyside diff --git a/rijndael-mktab.c b/rijndael-mktab.c index f5a73b8..1779709 100644 --- a/rijndael-mktab.c +++ b/rijndael-mktab.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: rijndael-mktab.c,v 1.3 2000/10/14 17:13:19 mdw Exp $ + * $Id: rijndael-mktab.c,v 1.4 2004/04/08 01:36:15 mdw Exp $ * * Build precomputed tables for the Rijndael block cipher * @@ -27,20 +27,6 @@ * MA 02111-1307, USA. */ -/*----- Revision history --------------------------------------------------* - * - * $Log: rijndael-mktab.c,v $ - * Revision 1.3 2000/10/14 17:13:19 mdw - * Fix some compile errors. - * - * Revision 1.2 2000/06/18 23:12:15 mdw - * Change typesetting of Galois Field names. - * - * Revision 1.1 2000/06/17 11:56:07 mdw - * New cipher. - * - */ - /*----- Header files ------------------------------------------------------*/ #include @@ -175,11 +161,11 @@ static void tbox(void) a = s[i]; b = a << 1; if (b & 0x100) b ^= S_MOD; c = a ^ b; - w = (b << 0) | (a << 8) | (a << 16) | (c << 24); + w = (c << 0) | (a << 8) | (a << 16) | (b << 24); t[0][i] = w; - t[1][i] = ROL32(w, 8); - t[2][i] = ROL32(w, 16); - t[3][i] = ROL32(w, 24); + t[1][i] = ROR32(w, 8); + t[2][i] = ROR32(w, 16); + t[3][i] = ROR32(w, 24); /* --- Build a backwards t-box entry --- */ @@ -187,11 +173,11 @@ static void tbox(void) b = mul(si[i], 0x09, S_MOD); c = mul(si[i], 0x0d, S_MOD); d = mul(si[i], 0x0b, S_MOD); - w = (a << 0) | (b << 8) | (c << 16) | (d << 24); + w = (d << 0) | (c << 8) | (b << 16) | (a << 24); ti[0][i] = w; - ti[1][i] = ROL32(w, 8); - ti[2][i] = ROL32(w, 16); - ti[3][i] = ROL32(w, 24); + ti[1][i] = ROR32(w, 8); + ti[2][i] = ROR32(w, 16); + ti[3][i] = ROR32(w, 24); } } @@ -211,11 +197,11 @@ static void ubox(void) b = mul(i, 0x09, S_MOD); c = mul(i, 0x0d, S_MOD); d = mul(i, 0x0b, S_MOD); - w = (a << 0) | (b << 8) | (c << 16) | (d << 24); + w = (d << 0) | (c << 8) | (b << 16) | (a << 24); u[0][i] = w; - u[1][i] = ROL32(w, 8); - u[2][i] = ROL32(w, 16); - u[3][i] = ROL32(w, 24); + u[1][i] = ROR32(w, 8); + u[2][i] = ROR32(w, 16); + u[3][i] = ROR32(w, 24); } }