rijndael: Make implementation big-endian.
[u/mdw/catacomb] / rijndael-base.h
index 684dadb..f88b2f7 100644 (file)
@@ -57,12 +57,12 @@ extern const octet rijndael_rcon[];
 /*----- 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 -------------------------------------------------*/