diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-02-20 19:21:07 +0100 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2020-07-18 20:31:43 -0700 |
commit | 30435141bc01b473ba59c36325872967635d60df (patch) | |
tree | 22a1ec0251f5e814919a5569ac5534688bdf9e00 | |
parent | 8da11f082f2081d1c1d2e54725ebd4f3a12d56e3 (diff) | |
download | rijndael-30435141bc01b473ba59c36325872967635d60df.tar.gz rijndael-30435141bc01b473ba59c36325872967635d60df.tar.bz2 rijndael-30435141bc01b473ba59c36325872967635d60df.zip |
Contributed by "SR" (kane5410 at gmx do tnet) in 2015.
Same fix also independently produced by Ron Charlton (charltoncr
at wowway dot com) in 2018.
* rijndael.c (rijn_sched_key): In the blocksize == 8 case that
corresponds to 256 bit keys, fix a column/row mixup in the key
scheduling.
-rw-r--r-- | rijndael.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -224,10 +224,10 @@ rijn_sched_key(rijn_keysched_t *sched, rijn_key_t *key, const rijn_param_t *para temp_key[i][2] ^= temp_key[i-1][2]; temp_key[i][3] ^= temp_key[i-1][3]; } - temp_key[0][i] ^= s_box[temp_key[i-1][0]]; - temp_key[1][i] ^= s_box[temp_key[i-1][1]]; - temp_key[2][i] ^= s_box[temp_key[i-1][2]]; - temp_key[3][i] ^= s_box[temp_key[i-1][3]]; + temp_key[i][0] ^= s_box[temp_key[i-1][0]]; + temp_key[i][1] ^= s_box[temp_key[i-1][1]]; + temp_key[i][2] ^= s_box[temp_key[i-1][2]]; + temp_key[i][3] ^= s_box[temp_key[i-1][3]]; for (i++; i < keyrows; i++) { temp_key[i][0] ^= temp_key[i-1][0]; temp_key[i][1] ^= temp_key[i-1][1]; |