]> git.sesse.net Git - ffmpeg/commitdiff
revert simplification (broke 192 bit keys)
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 14 Jan 2007 21:13:14 +0000 (21:13 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 14 Jan 2007 21:13:14 +0000 (21:13 +0000)
Originally committed as revision 7500 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavutil/aes.c

index df3ba035419e21de3706dfc8facb0e2ab1bae77c..135b9310f00520521745ea698bc44092f5811712 100644 (file)
@@ -158,9 +158,7 @@ AVAES *av_aes_init(uint8_t *key, int key_bits, int decrypt) {
     memcpy(tk, key, KC*4);
 
     for(t= 0; t < (rounds+1)*4;) {
-        if(decrypt) memcpy(a->round_key[0     ][ t], tk, KC*4);
-        else        memcpy(a->round_key[rounds][-t], tk, KC*4);
-
+        memcpy(a->round_key[0][t], tk, KC*4);
         t+= KC;
 
         for(i = 0; i < 4; i++)
@@ -181,6 +179,11 @@ AVAES *av_aes_init(uint8_t *key, int key_bits, int decrypt) {
                 a->round_key[i][0][j]= sbox[a->round_key[i][0][j]];
             mix(a->round_key[i], dec_multbl);
         }
+    }else{
+        for(i=0; i<(rounds+1)/2; i++){
+            for(j=0; j<16; j++)
+                FFSWAP(int, a->round_key[i][0][j], a->round_key[rounds-i][0][j]);
+        }
     }
 
     return a;