Samstag, 31. Juli 2010 |
Wie die Sicherheit von DES erhöht werden kann und welche Betriebsarten es für Blockchiffren wie DES gibt, erfahren Sie in dieser Folge.
Um die Sicherheit des in About Security #71
vorgestellten DES-Algorithmus zu erhöhen, wurde er zu 3DES (auch
Triple-DES genannt) erweitert: Jeder Datenblock B
wird zuerst mit
DES mit dem Schlüssel
chiffriert, dann mit
dechiffriert und abschließend mit
erneut chiffriert. Ist
die Verschlüsselung des Klartextblocks B
durch DES mit dem Schlüssel K und
die Entschlüsselung, dann ergibt sich für die Verschlüsselung:
.
Die Entschlüsselung läuft analog in umgekehrter Reihenfolge ab:
.
N E U ! Security
aktuell
Täglich aktuelle Security-Infos!
Für die Bildung der Teilschlüssel
,
und
wurden folgende Möglichkeiten spezifiziert:
,
und
sind unabhängige Schlüssel
und
sind unabhängige Schlüssel und

Das Verfahren wird in den USA in ANSI X9.52 und FIPS PUB 46-3 (PDF) genormt und in der NIST Special Publication 800-67 (PDF) beschrieben. Im Oktober 2000 wurden DES und 3DES durch ihren Nachfolger, den Advanced Encryption Standard (AES), offiziell abgelöst.
DES verschlüsselt 64 Bit lange Klartextblöcke. Da die zu verschlüsselnden Daten i.d.R. deutlich länger sind und nicht zwingend blockweise vorliegen, wurden verschiedene Betriebsarten für Blockchiffren entwickelt und teilweise genormt.
Die einfachste Betriebsart einer Blockchiffre besteht darin, die zu verschlüsselnde Nachricht in Blöcke passender Größe aufzuspalten und diese unabhängig voneinander zu ver- und entschlüsseln. Dieses Verfahren wird als Elektronisches Codebuch (electronic codebook, ECB) bezeichnet.
Ein Fehler bzw. eine Manipulation eines Schlüsseltextblocks betrifft immer nur den zugehörigen Klartextblock.
Der Nachteil dieser Betriebsart ist, dass bei deterministischen Blockchiffren gleiche Klartextblöcke zu gleichen Schlüsseltextblöcken führen, was die Kryptanalyse erleichtert.
Bei einer Blockchiffre mit Blockverkettung (cipher-block chaining, CBC) wird vor dem Verschlüsseln jedes außer des ersten Blocks der Schlüsseltext des vorhergehenden Blocks zum Klartext modular addiert und beim Entschlüsseln entsprechend subtrahiert.
Ein Fehler bzw. eine Manipulation eines Schlüsseltextblocks betrifft nur den zugehörigen Klartextblock und seinen Nachfolger (aufgrund der Speicherung und erneuten Verwendung des betroffenen Schlüsseltextblocks). Danach hat sich die Entschlüsselung durch ihre geringe Speichertiefe wieder mit der Verschlüsselung synchronisiert und die folgenden Blöcke werden korrekt entschlüsselt.
Ein Angreifer kann erkennen, ob zwei Klartexte mit den gleichen Blöcken beginnen, da dann auch die Schlüsseltexte gleich beginnen. Um dies zu verhindern, kann der Zwischenspeicher mit einem zufälligen Wert initialisiert werden. Dieser muss dann ebenso wie der Schlüssel beim Entschlüsseln bekannt sein.
Bei der Schlüsseltextrückführung (cipher feedback, CFB) wird statt des Klartexts der Inhalt eines Schieberegisters mit der Blockchiffre verschlüsselt und ein Teil des Ergebnisses beim Verschlüsseln modular zum Klartext addiert bzw. beim Entschlüsseln subtrahiert. Das Verfahren wird Schlüsseltextrückführung genannt, da der Schlüsseltext in die Schieberegister geschoben, also rückgeführt wird.
Der Initialisierungswert des Schieberegisters muss ebenso wie der Schlüssel bei der Entschlüsselung bekannt sein.
Das Bild zeigt den allgemeinen Fall, bei dem der Schlüsseltext nicht direkt in das Schieberegister übernommen, sondern zuvor durch eine Auswahleinheit angepasst wird.
Ein Fehler bzw. eine Manipulation des Schlüsseltextstroms wirkt sich so lange auf den entschlüsselten Klartext aus, bis alle falschen Schlüsseltextzeichen das Schieberegister passiert haben.
Bei der Ergebnisrückführung (output feedback, OFB) wird im Gegensatz zur Schlüsseltextrückführung nicht der Schlüsseltext, sondern das Ergebnis (output) der Blockverschlüsselung in das Schieberegister rückgeführt.
Das Bild zeigt wieder den allgemeinen Fall, bei dem das Ergebnis der Blockverschlüsselung nicht direkt in das Schieberegister übernommen, sondern zuvor durch eine Auswahleinheit angepasst wird.
Ein Fehler bzw. eine Manipulation des Schlüsseltextstroms betrifft immer nur die jeweils zugehörigen Klartextzeichen. Es ergibt sich also keine Fehlererweiterung.
Aus jeder symmetrischen oder asymmetrischen deterministischen Blockchiffre kann mit ECB, CBC und CFB eine selbstsynchronisierende und mit OFB eine synchrone Stromchiffre konstruiert werden.
Die Betriebsarten wurden u.a. in FIPS PUB 81 und ISO/IEC 10116 genormt. In der NIST Special Publication 800-38A (PDF) "Recommendations for Block Cipher Modes of Operation, Methods and Techniques" werden sie für alle von FIPS zugelassenen Blockchiffren erneut spezifiziert und um den Counter-Mode (CTR) erweitert. Auf diesen wird hier aber nicht weiter eingegangen.
In der nächsten Folge geht es um die praktische Anwendung des DES-Verfahrens.
Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!
About Security – Übersicht zum aktuellen Thema "Kryptographie – DES"