Kleine Frage zu AES und dem MixColumns() Schritt
-
Hi,
ich habe mir gerade mal den Wikipedia Artikel zu AES durchgelesen, und irgendwie verstehe ich den MixColumns() Schritt nicht so wirklich. Er hat auch einen eigenen Artikel: http://en.wikipedia.org/wiki/Rijndael_mix_columns
Dort sind auch Testvektoren angegeben. http://en.wikipedia.org/wiki/Rijndael_mix_columns#Test_vectors_for_MixColumns.28.29.3B_not_for_InvMixColumns
Sollten nicht immer mindestens zwei Zahlen gleich bleiben, weil immer zwei mal mit 1 multipliziert wird? Offensichtlich ist das nicht der Fall, daher gehe ich von irgendeinem blöden Denkfehler aus. Könnt ihr mich aufklären?Vielleicht noch ein Zitat aus dem AES Artikel:
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard schrieb:
The multiplication operation is defined as: multiplication by 1 means no change, multiplication by 2 means shifting to the left, and multiplication by 3 means shifting to the left and then performing xor with the initial unshifted value. After shifting, a conditional xor with 0x1B should be performed if the shifted value is larger than 0xFF.
-
Einfach das Paper dazu durchlesen!
-
Das Paper zu MixColumns()?
-
Since this math is done in Rijndael's Galois field, the addition above is actually an exclusive or operation, and multiplication is a complicated operation.
-
Ja Jungs ich hab das gelesen, wenn mir das weiterhelfen würde, würde ich nicht fragen.
Edit:
Okay, die Multiplikation wird vollständig für ein Byte und nicht erst für eine Reihe durchgeführt.
-
Was genau verstehst du nicht?