fortgeschrittener Verschlüsselungsstandard

Der populärere und am weitesten verbreitete symmetrische Verschlüsselungsalgorithmus, der heutzutage wahrscheinlich anzutreffen ist, ist der Advanced Encryption Standard (AES). Es ist mindestens sechsmal schneller als Triple DES.

Ein Ersatz für DES wurde benötigt, da die Schlüsselgröße zu klein war. Mit zunehmender Rechenleistung wurde es als anfällig für umfassende Angriffe auf die Schlüsselsuche angesehen. Triple DES wurde entwickelt, um diesen Nachteil zu überwinden, wurde jedoch als langsam befunden.

Die Funktionen von AES sind wie folgt:

  • Symmetrischer Schlüssel Symmetrische Blockverschlüsselung
  • 128-Bit-Daten, 128/192 / 256-Bit-Schlüssel
  • Stärker und schneller als Triple-DES
  • Geben Sie die vollständigen Spezifikationen und Designdetails an
  • In C und Java implementierbare Software

Betrieb von AES

AES ist eher eine iterative als eine Feistel-Chiffre. Es basiert auf dem 'Substitutions-Permutations-Netzwerk'. Es besteht aus einer Reihe verknüpfter Operationen, von denen einige das Ersetzen von Eingaben durch bestimmte Ausgaben (Ersetzungen) und andere das Mischen von Bits (Permutationen) beinhalten.

Interessanterweise führt AES alle Berechnungen eher mit Bytes als mit Bits durch. Daher behandelt AES die 128 Bits eines Klartextblocks als 16 Bytes. Diese 16 Bytes sind in vier Spalten und vier Zeilen zur Verarbeitung als Matrix angeordnet -

Im Gegensatz zu DES ist die Anzahl der Runden in AES variabel und hängt von der Länge des Schlüssels ab. AES verwendet 10 Runden für 128-Bit-Schlüssel, 12 Runden für 192-Bit-Schlüssel und 14 Runden für 256-Bit-Schlüssel. Jede dieser Runden verwendet einen anderen 128-Bit-Rundenschlüssel, der aus dem ursprünglichen AES-Schlüssel berechnet wird.

Das Schema der AES-Struktur ist in der folgenden Abbildung dargestellt:

Verschlüsselungsprozess

Hier beschränken wir uns auf die Beschreibung einer typischen Runde der AES-Verschlüsselung. Jede Runde besteht aus vier Teilprozessen. Der Prozess der ersten Runde ist unten dargestellt -

Bytesubstitution (SubBytes)

Die 16 Eingangsbytes werden durch Nachschlagen einer festen Tabelle (S-Box) ersetzt, die im Entwurf angegeben ist. Das Ergebnis ist eine Matrix aus vier Zeilen und vier Spalten.

Shiftrows

Jede der vier Zeilen der Matrix ist nach links verschoben. Alle Einträge, die abfallen, werden auf der rechten Seite der Zeile erneut eingefügt. Die Verschiebung erfolgt wie folgt:

  • Die erste Reihe wird nicht verschoben.

  • Die zweite Zeile wird um eine (Byte-) Position nach links verschoben.

  • Die dritte Reihe ist zwei Positionen nach links verschoben.

  • Die vierte Reihe ist drei Positionen nach links verschoben.

  • Das Ergebnis ist eine neue Matrix, die aus denselben 16 Bytes besteht, jedoch relativ zueinander verschoben ist.

MixColumns

Jede Spalte mit vier Bytes wird jetzt mithilfe einer speziellen mathematischen Funktion transformiert. Diese Funktion verwendet die vier Bytes einer Spalte als Eingabe und gibt vier völlig neue Bytes aus, die die ursprüngliche Spalte ersetzen. Das Ergebnis ist eine weitere neue Matrix, die aus 16 neuen Bytes besteht. Es ist zu beachten, dass dieser Schritt in der letzten Runde nicht ausgeführt wird.

Addroundkey

Die 16 Bytes der Matrix werden nun als 128 Bit betrachtet und auf die 128 Bit des runden Schlüssels XOR-verknüpft. Wenn dies die letzte Runde ist, ist die Ausgabe der Chiffretext. Andernfalls werden die resultierenden 128 Bits als 16 Bytes interpretiert und wir beginnen eine weitere ähnliche Runde.

Entschlüsselungsprozess

Der Entschlüsselungsprozess eines AES-Chiffretextes ähnelt dem Verschlüsselungsprozess in umgekehrter Reihenfolge. Jede Runde besteht aus den vier Prozessen in umgekehrter Reihenfolge -

  • Runden Schlüssel hinzufügen
  • Spalten mischen
  • Reihen verschieben
  • Bytesubstitution

Da die Unterprozesse in jeder Runde im Gegensatz zu einer Feistel-Verschlüsselung umgekehrt sind, müssen die Verschlüsselungs- und Entschlüsselungsalgorithmen separat implementiert werden, obwohl sie sehr eng miteinander verbunden sind.

AES-Analyse

In der heutigen Kryptographie ist AES weit verbreitet und wird sowohl in der Hardware als auch in der Software unterstützt. Bis heute wurden keine praktischen kryptoanalytischen Angriffe gegen AES entdeckt. Darüber hinaus verfügt AES über eine integrierte Flexibilität bei der Schlüssellänge, die ein gewisses Maß an Zukunftssicherheit gegen Fortschritte bei der Durchführung umfassender Schlüsselsuchen ermöglicht.

Genau wie bei DES ist die AES-Sicherheit jedoch nur dann gewährleistet, wenn sie korrekt implementiert ist und eine gute Schlüsselverwaltung angewendet wird.