Commit ba554c02 authored by Michael Niedermayer's avatar Michael Niedermayer

simplify round_key generation by writing over the end but ensuring that theres...

simplify round_key generation by writing over the end but ensuring that theres some irrelevant stuff afterwards

Originally committed as revision 7471 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 84c72fb1
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
#include "aes.h" #include "aes.h"
typedef struct AVAES{ typedef struct AVAES{
uint8_t state[4][4];
uint8_t round_key[15][4][4]; uint8_t round_key[15][4][4];
uint8_t state[4][4];
int rounds; int rounds;
}AVAES; }AVAES;
...@@ -143,9 +143,9 @@ AVAES *av_aes_init(uint8_t *key, int key_bits) { ...@@ -143,9 +143,9 @@ AVAES *av_aes_init(uint8_t *key, int key_bits) {
memcpy(tk, key, KC*4); memcpy(tk, key, KC*4);
for(t= 0; t < (rounds+1)*4; ) { for(t= 0; t < (rounds+1)*4;) {
for(j = 0; j < KC && t < (rounds+1)*4; j++, t++) memcpy(a->round_key[0][t], tk, KC*4);
memcpy(a->round_key[0][t], tk[j], 4); t+= KC;
for(i = 0; i < 4; i++) for(i = 0; i < 4; i++)
tk[0][i] ^= sbox[tk[KC-1][(i+1)&3]]; tk[0][i] ^= sbox[tk[KC-1][(i+1)&3]];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment