AES in Excel

Der AES-128 besteht aus insgesamt 10 Runden, in denen sich die Operationen SubBytes, ShiftRows, MixColumns und AddRoundKey stets wiederholen.

Zuerst wird im SubBytes-Schritt jedes Byte durch einen neuen Wert aus einer nichtlinearen Substitutionstabelle, der sogenannten S-Box, ersetzt. Dadurch wird Nichtlinearität in den Algorithmus eingeführt und die Verschlüsselung resistent gegen einfache algebraische Angriffe gemacht.

Als Nächstes verschiebt die ShiftRows-Operation die Zeilen der Zustandsmatrix zyklisch um verschiedene Versätze. Dies stellt sicher, dass Bytes über die Spalten hinweg bewegt werden, was zur Diffusion beiträgt und lokale Änderungen über den gesamten Block verteilt.

Der darauffolgende Schritt, MixColumns, behandelt jede Spalte des Zustands als Polynom und transformiert sie durch eine feste Matrixmultiplikation im endlichen Körper GF(2^8). Dieser Schritt mischt die Daten zusätzlich und sorgt dafür, dass Bits gleichmäßiger über den Zustand verteilt werden.

Das AES KeySchedule erzeugt die Rundenschlüssel aus dem ursprünglichen Geheimschlüssel. Dies geschieht durch wiederholte Transformation von Teilen des Schlüssels: Bytes werden rotiert, mithilfe der S-Box substituiert und mit Rundkonstanten kombiniert, bevor sie per XOR mit vorherigem Schlüsselmaterial verknüpft werden. Dadurch verwendet jede Runde einen eindeutigen Schlüssel, der dennoch mit dem ursprünglichen Geheimschlüssel verbunden bleibt.

Schließlich wird im AddRoundKey-Schritt der Zustand mit dem Rundenschlüssel durch eine XOR-Operation kombiniert. Dies ist der Punkt, an dem das geheime Schlüsselmaterial in die Rundentransformation einfließt und die Daten vor unbefugter Entschlüsselung schützt.

Um einen besseren Einblick in die Operationen zu gewinnen wird hier eine vollstänige Implementierung von AES zur Verfügung gestellt. Die erste Runde wird darüber hinaus ausführlich in den einzelnen Reitern dargestellt.

Download der Microsoft Excel-Datei. Auf Makros wurde verzichtet; aufgrund der Lambda-Funktionen wird das Ergebnis jedoch nur unter Office 365 oder Excel 2024 lauffähig sein.

SHA256: 1BB1037BC35D86D3E7BBE31C80C2801912F3E84598E7FB2AFE0DB116DF0CFE56