aboutsummaryrefslogtreecommitdiff
path: root/src/lib/crypto/aes/aeskey.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/crypto/aes/aeskey.c')
-rw-r--r--src/lib/crypto/aes/aeskey.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/lib/crypto/aes/aeskey.c b/src/lib/crypto/aes/aeskey.c
index 970a26f..60f766b 100644
--- a/src/lib/crypto/aes/aeskey.c
+++ b/src/lib/crypto/aes/aeskey.c
@@ -307,17 +307,23 @@ aes_rval aes_dec_key(const unsigned char in_key[], unsigned int klen, aes_ctx cx
kd4(cx->k_sch, 6); kd4(cx->k_sch, 7);
kd4(cx->k_sch, 8); kdl4(cx->k_sch, 9);
cx->n_rnd = 10; break;
- case 24: cx->k_sch[4] = ff(ss[4] = word_in(in_key + 16));
- cx->k_sch[5] = ff(ss[5] = word_in(in_key + 20));
+ case 24: ss[4] = word_in(in_key + 16);
+ cx->k_sch[4] = ff(ss[4]);
+ ss[5] = word_in(in_key + 20);
+ cx->k_sch[5] = ff(ss[5]);
kdf6(cx->k_sch, 0); kd6(cx->k_sch, 1);
kd6(cx->k_sch, 2); kd6(cx->k_sch, 3);
kd6(cx->k_sch, 4); kd6(cx->k_sch, 5);
kd6(cx->k_sch, 6); kdl6(cx->k_sch, 7);
cx->n_rnd = 12; break;
- case 32: cx->k_sch[4] = ff(ss[4] = word_in(in_key + 16));
- cx->k_sch[5] = ff(ss[5] = word_in(in_key + 20));
- cx->k_sch[6] = ff(ss[6] = word_in(in_key + 24));
- cx->k_sch[7] = ff(ss[7] = word_in(in_key + 28));
+ case 32: ss[4] = word_in(in_key + 16);
+ cx->k_sch[4] = ff(ss[4]);
+ ss[5] = word_in(in_key + 20);
+ cx->k_sch[5] = ff(ss[5]);
+ ss[6] = word_in(in_key + 24);
+ cx->k_sch[6] = ff(ss[6]);
+ ss[7] = word_in(in_key + 28);
+ cx->k_sch[7] = ff(ss[7]);
kdf8(cx->k_sch, 0); kd8(cx->k_sch, 1);
kd8(cx->k_sch, 2); kd8(cx->k_sch, 3);
kd8(cx->k_sch, 4); kd8(cx->k_sch, 5);