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
/*----- Handy macros ------------------------------------------------------*/
#define SUB(s, a, b, c, d) \
- (s[U8((a) >> 0)] << 0 | s[U8((b) >> 8)] << 8 | \
- s[U8((c) >> 16)] << 16 | s[U8((d) >> 24)] << 24)
+ (s[U8((a) >> 24)] << 24 | s[U8((b) >> 16)] << 16 | \
+ s[U8((c) >> 8)] << 8 | s[U8((d) >> 0)] << 0)
#define MIX(t, a, b, c, d) \
- (t[0][U8((a) >> 0)] ^ t[1][U8((b) >> 8)] ^ \
- t[2][U8((c) >> 16)] ^ t[3][U8((d) >> 24)])
+ (t[0][U8((a) >> 24)] ^ t[1][U8((b) >> 16)] ^ \
+ t[2][U8((c) >> 8)] ^ t[3][U8((d) >> 0)])
/*----- That's all, folks -------------------------------------------------*/
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 --- */
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);
}
}
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);
}
}
#define RIJNDAEL_BLKSZ 16
#define RIJNDAEL_KEYSZ 32
-#define RIJNDAEL_CLASS (N, L, 128)
+#define RIJNDAEL_CLASS (N, B, 128)
extern const octet rijndael_keysz[];
#define RIJNDAEL192_BLKSZ 24
#define RIJNDAEL192_KEYSZ 32
-#define RIJNDAEL192_CLASS (N, L, 192)
+#define RIJNDAEL192_CLASS (N, B, 192)
#define rijndael192_keysz rijndael_keysz
#define RIJNDAEL256_BLKSZ 32
#define RIJNDAEL256_KEYSZ 32
-#define RIJNDAEL256_CLASS (N, L, 256)
+#define RIJNDAEL256_CLASS (N, B, 256)
#define rijndael256_keysz rijndael_keysz