|
|
@@ -222,11 +222,9 @@ int av_aes_init(AVAES *a, const uint8_t *key, int key_bits, int decrypt) |
|
|
|
a->rounds = rounds; |
|
|
|
|
|
|
|
memcpy(tk, key, KC * 4); |
|
|
|
memcpy(a->round_key[0].u8, key, KC * 4); |
|
|
|
|
|
|
|
for (t = 0; t < (rounds + 1) * 16;) { |
|
|
|
memcpy(a->round_key[0].u8 + t, tk, KC * 4); |
|
|
|
t += KC * 4; |
|
|
|
|
|
|
|
for (t = KC * 4; t < (rounds + 1) * 16; t += KC * 4) { |
|
|
|
for (i = 0; i < 4; i++) |
|
|
|
tk[0][i] ^= sbox[tk[KC - 1][(i + 1) & 3]]; |
|
|
|
tk[0][0] ^= rcon[rconpointer++]; |
|
|
@@ -239,6 +237,8 @@ int av_aes_init(AVAES *a, const uint8_t *key, int key_bits, int decrypt) |
|
|
|
for (i = 0; i < 4; i++) |
|
|
|
tk[j][i] ^= sbox[tk[j - 1][i]]; |
|
|
|
} |
|
|
|
|
|
|
|
memcpy(a->round_key[0].u8 + t, tk, KC * 4); |
|
|
|
} |
|
|
|
|
|
|
|
if (decrypt) { |
|
|
|