Merge branch 'fixes'
[u/mdw/catacomb] / rijndael-base.c
index 0fe7213..34881e3 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: rijndael-base.c,v 1.1 2001/05/07 17:31:37 mdw Exp $
+ * $Id: rijndael-base.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Low-level stuff for all Rijndael block sizes
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: rijndael-base.c,v $
- * Revision 1.1  2001/05/07 17:31:37  mdw
- * Centralize Rijndael tables and key scheduling.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
@@ -98,7 +90,7 @@ void rijndael_setup(rijndael_ctx *k, unsigned nb, const void *buf, size_t sz)
 
   p = buf;
   for (i = 0; i < nk; i++) {
-    k->w[i] = LOAD32_L(p);
+    k->w[i] = LOAD32_B(p);
     p += 4;
   }
 
@@ -110,8 +102,8 @@ void rijndael_setup(rijndael_ctx *k, unsigned nb, const void *buf, size_t sz)
   for (; i < nw; i++) {
     uint32 w = k->w[i - nk];
     if (i % nk == 0) {
-      ww = ROR32(ww, 8);
-      w ^= SUB(S, ww, ww, ww, ww) ^ *p++;
+      ww = ROL32(ww, 8);
+      w ^= SUB(S, ww, ww, ww, ww) ^ (*p++ << 24);
     } else if (nk > 6 && i % nk == 4)
       w ^= SUB(S, ww, ww, ww, ww);
     else