Hab mir gerade mal in paar Webseiten zu AES ageschaut. Kann sein, dass Du die Rcon oder die Sbox-Tabelle gefunden hast. Die sind aber, so wie ich das verstanden habe, in jeder Implementierung des AES-Verfahrens gleich. Interessant wäre die Stelle, wo die Key Expansion stattfindet. Dort bekommt man den eigentlichen Key präsentiert.
Kannst Dir ja mal diesen Code anschauen:
[Only registered and activated users can see links. Click Here To Register...]
Vor allem dieser Teil aus der Funktion aes_set_key(...) könnte interessant sein:
Quote:
for( i = 0; i < 10; i++, RK += 4 )
{
RK[4] = RK[0] ^ RCON[i] ^
( FSb[ (uint8) ( RK[3] >> 16 ) ] << 24 ) ^
( FSb[ (uint8) ( RK[3] >> 8 ) ] << 16 ) ^
( FSb[ (uint8) ( RK[3] ) ] << 8 ) ^
( FSb[ (uint8) ( RK[3] >> 24 ) ] );
RK[5] = RK[1] ^ RK[4];
RK[6] = RK[2] ^ RK[5];
RK[7] = RK[3] ^ RK[6];
}
|
Etwas in der Art müsste in jedem Programm in dem AES verwendet wird vorkommen. Kannst den Code ja mal kompilieren und disasemblieren um zu sehen wie sowas aussehen könnte. In der for-Schleife oben werden die einzelnen Runden-Schlüssel berechnet.