/* -*-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>
p = buf;
for (i = 0; i < nk; i++) {
- k->w[i] = LOAD32_L(p);
+ k->w[i] = LOAD32_B(p);
p += 4;
}
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