MixColumns
MixColumns ist der AES-Schritt, der jede Spalte des Zustands durch eine feste lineare Abbildung über GF(28) durchmischt.
Jede Spalte des AES-Zustands wird als Polynom über GF(28) aufgefasst und modulo x4 + 1 mit einem festen Polynom multipliziert. Die Abbildung hat die Branch Number 5: Ändert sich ein Eingangsbyte, ändern sich mindestens vier Ausgangsbytes. Sie ist eine MDS-Konstruktion und liefert in einem einzigen Schritt sehr viel Diffusion.
Der Schritt wirkt immer nur auf eine Spalte, die Verbindung zwischen den Spalten stellt ShiftRows her. Eine klare Arbeitsteilung: ein Schritt für die lokale Durchmischung, einer für die globalen Verbindungen. Implementierungen, die den Schritt über Tabellen nachschlagen, verraten sich zudem über Cache-Timing – die richtige Mathematik ist also nicht die ganze Arbeit.