Das Grundschema einer Blockchiffre wird wie folgt dargestellt –
Eine Blockchiffre nimmt einen Block von Klartextbits und erzeugt einen Block von Chiffretextbits, im Allgemeinen von gleicher Größe. Die Größe des Blocks ist in dem gegebenen Schema festgelegt. Die Wahl der Blockgröße hat keinen direkten Einfluss auf die Stärke des Verschlüsselungsverfahrens. Die Stärke der Chiffre hängt von der Schlüssellänge ab.
Blockgröße
Auch wenn jede Blockgröße akzeptabel ist, sind bei der Auswahl der Blockgröße folgende Aspekte zu beachten.
-
Vermeiden Sie eine sehr kleine Blockgröße – Nehmen wir an, die Blockgröße beträgt m Bits. Dann sind die möglichen Klartext-Bit-Kombinationen 2m. Wenn der Angreifer die Klartextblöcke entdeckt, die einigen zuvor gesendeten Chiffretextblöcken entsprechen, kann er eine Art „Wörterbuchangriff“ starten, indem er ein Wörterbuch der Klartext/Chiffretext-Paare aufbaut, die mit diesem Verschlüsselungsschlüssel gesendet wurden. Eine größere Blockgröße erschwert den Angriff, da das Wörterbuch größer sein muss.
-
Die Blockgröße sollte nicht sehr groß sein – Bei einer sehr großen Blockgröße wird die Chiffre ineffizient im Betrieb. Solche Klartexte müssen vor der Verschlüsselung aufgefüllt werden.
-
Vielfache von 8 Bit – Eine bevorzugte Blockgröße ist ein Vielfaches von 8, da sie einfach zu implementieren ist, da die meisten Computerprozessoren Daten in Vielfachen von 8 Bit verarbeiten.
Auffüllen in Blockchiffre
Blockchiffren verarbeiten Blöcke fester Größe (z.B. 64 Bit). Die Länge von Klartexten ist meist kein Vielfaches der Blockgröße. Ein 150-Bit-Klartext liefert zum Beispiel zwei Blöcke zu je 64 Bit und einen dritten Block mit einem Rest von 22 Bit. Der letzte Block mit Bits muss mit redundanten Informationen aufgefüllt werden, damit die Länge des letzten Blocks der Blockgröße des Schemas entspricht. In unserem Beispiel müssen zu den verbleibenden 22 Bits weitere 42 redundante Bits hinzugefügt werden, um einen vollständigen Block zu erhalten. Der Prozess des Hinzufügens von Bits zum letzten Block wird als Auffüllen bezeichnet.
Zuviel Auffüllen macht das System ineffizient. Außerdem kann das Auffüllen das System manchmal unsicher machen, wenn das Auffüllen immer mit den gleichen Bits erfolgt.
Blockchiffrierverfahren
Es gibt eine große Anzahl von Blockchiffrierverfahren, die verwendet werden. Viele von ihnen sind öffentlich bekannt. Die beliebtesten und bekanntesten Blockchiffren sind nachstehend aufgeführt.
-
Digital Encryption Standard (DES) – Die populäre Blockchiffre der 1990er Jahre. Sie gilt heute als „gebrochene“ Blockchiffre, was vor allem auf ihre geringe Schlüsselgröße zurückzuführen ist.
-
Triple DES – Es handelt sich um eine Variante, die auf wiederholten DES-Anwendungen basiert. Es ist immer noch eine angesehene Blockchiffre, aber ineffizient im Vergleich zu den neuen schnelleren Blockchiffren, die verfügbar sind.
-
Advanced Encryption Standard (AES) – Es ist eine relativ neue Blockchiffre, die auf dem Verschlüsselungsalgorithmus Rijndael basiert, der den AES-Design-Wettbewerb gewonnen hat.
-
IDEA – Es ist eine ausreichend starke Blockchiffre mit einer Blockgröße von 64 und einer Schlüsselgröße von 128 Bit. Eine Reihe von Anwendungen verwendet IDEA-Verschlüsselung, einschließlich früher Versionen des Pretty Good Privacy (PGP)-Protokolls. Die Verwendung des IDEA-Schemas ist aufgrund von Patentfragen eingeschränkt.
-
Twofish – Dieses Schema der Blockchiffre verwendet eine Blockgröße von 128 Bit und einen Schlüssel variabler Länge. Es war einer der AES-Finalisten. Sie basiert auf der früheren Blockchiffre Blowfish mit einer Blockgröße von 64 Bit.
-
Serpent – Eine Blockchiffre mit einer Blockgröße von 128 Bit und Schlüssellängen von 128, 192 oder 256 Bit, die ebenfalls zu den Finalisten des AES-Wettbewerbs gehörte. Sie ist langsamer, aber sicherer als andere Blockchiffren.
In den nächsten Abschnitten wird zunächst das Modell der Blockchiffre besprochen, gefolgt von DES und AES, zwei der einflussreichsten modernen Blockchiffren.