Originally committed as revision 7463 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2007-01-14 09:27:11 +00:00
parent eade86e2f5
commit d43a297579

View File

@ -104,12 +104,12 @@ void av_aes_encrypt(AVAES *a){
} }
// this is based on the reference AES code by Paulo Barreto and Vincent Rijmen // this is based on the reference AES code by Paulo Barreto and Vincent Rijmen
AVAES *av_aes_init(uint8_t *key, int keyBits) { AVAES *av_aes_init(uint8_t *key, int key_bits) {
AVAES *a; AVAES *a;
int i, j, t, rconpointer = 0; int i, j, t, rconpointer = 0;
uint8_t tk[8][4]; uint8_t tk[8][4];
int KC= keyBits/32; int KC= key_bits/32;
int ROUNDS= KC + 6; int rounds= KC + 6;
if(!sbox[255]){ if(!sbox[255]){
j=1; j=1;
@ -131,16 +131,16 @@ AVAES *av_aes_init(uint8_t *key, int keyBits) {
} }
} }
if(keyBits!=128 && keyBits!=192 && keyBits!=256) if(key_bits!=128 && key_bits!=192 && key_bits!=256)
return NULL; return NULL;
a= av_malloc(sizeof(AVAES)); a= av_malloc(sizeof(AVAES));
a->rounds= ROUNDS; a->rounds= rounds;
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++) for(j = 0; (j < KC) && (t < (rounds+1)*4); j++, t++)
for(i = 0; i < 4; i++) for(i = 0; i < 4; i++)
a->round_key[0][t][i] = tk[j][i]; a->round_key[0][t][i] = tk[j][i];