From 6b601cc2f5ff6e5b6eca0955ccc389d2e75c9ecb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Wed, 13 Feb 2002 12:12:46 +0100
Subject: [PATCH] (aes_set_key): Reversed the order of the inverted subkeys.
 They are now stored in the same order as they are used.

Rev: src/nettle/aes-set-key.c:1.3
---
 aes-set-key.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/aes-set-key.c b/aes-set-key.c
index 24f932b7..a8785de6 100644
--- a/aes-set-key.c
+++ b/aes-set-key.c
@@ -89,7 +89,7 @@ mul(uint8_t a, uint8_t b)
 }
 
 static void
-inv_mix_column(uint32_t *a, uint32_t *b)
+inv_mix_column(const uint32_t *a, uint32_t *b)
 {
   uint8_t c[4][4];
   unsigned i, j;
@@ -165,9 +165,9 @@ aes_set_key(struct aes_ctx *ctx, unsigned keysize, const uint8_t *key)
   /* Generate the inverse keys */
   for (i=0; i<4; i++)
     {
-      ctx->ikeys[i] = ctx->keys[i];
-      ctx->ikeys[lastkey-4 + i] = ctx->keys[lastkey-4 + i];
+      ctx->ikeys[i] = ctx->keys[lastkey-4 + i];
+      ctx->ikeys[lastkey-4 + i] = ctx->keys[i];
     }
   for (i=4; i<lastkey-4; i+=4)
-    inv_mix_column(&(ctx->keys[i]), &(ctx->ikeys[i]));
+    inv_mix_column(&(ctx->keys[i]), &(ctx->ikeys[lastkey-4 - i]));
 }
-- 
GitLab