Samstag, 31. Juli 2010 |
Ab dieser Folge lernen Sie aktuell eingesetzte kryptographische Verfahren kennen. Während bisher mit Ausnahme der bitweisen Vigenère-Verschlüsselung zeichenorientierte Verfahren behandelt wurden, wird in den nun folgenden Verfahren in der Regel bitweise gearbeitet. Zuerst müssen wieder einige Grundbegriffe erklärt werden:
N E U ! Security
aktuell
Täglich aktuelle Security-Infos!
Claude Shannon hat 1949 in seinem Artikel "Communication Theory of Secrecy Systems" (als gescannte Bilder) zwei Grundprinzipien der Chiffrierung beschrieben: Bei der Konfusion wird der Zusammenhang zwischen Klartext- und Geheimtextzeichen verwischt, wie z.B. bei der einfachen Substitution (siehe About Security #66). Bei der Diffusion werden die Informationen des Klartexts im Geheimtext verteilt.
Bei einer Stromchiffre wird ausgehend von einem Schlüssel eine "zufällige" Bitfolge generiert, die meistens als Schlüssel eines One-Time-Pads (siehe About Security #69) verwendet, d.h. über XOR mit dem Klartext verknüpft wird. Die Sicherheit des Verfahrens hängt vollständig von der Generierung der Bitfolge ab. Stromchiffren sind besonders gut zur Onlineverschlüsselung von Nachrichtenkanälen geeignet.
Bei einer Blockchiffre werden Gruppen von Bits zu Blöcken zusammengefasst und gemeinsam verschlüsselt. Eine Substitution (siehe About Security #66) kann als Blockchiffre mit 8-Bit-Blöcken betrachtet werden, bei polyalphabetischen Substitutionen (siehe About Security #68) entspricht die Blocklänge der Periode (siehe About Security #69).
Bei einem Produktalgorithmus werden mehrere einfache,
kryptographisch
unsichere Schritte (genannt Runden) nacheinander ausgeführt. Diese
Kombination der einfachen Funktionen kann die Sicherheit stark
erhöhen. Zum Vergleich nennt Reinhard Wobst in seinem Buch
"Abenteuer Kryptologie" das Lösen von Gleichungen: Lineare
Gleichungen der Form "ax + b = c" sind leicht
zu
lösen, für quadratische Gleichungen lernt man die Formel in der
Schule, und für kubische Gleichungen werden bereits mehrere Formeln
benötigt. Die Formeln für Gleichungen 4. Grades sind schon sehr
komplex, und für Gleichungen ab dem 5. Grad gibt es keine allgemeinen
Lösungen mehr.
Feistel-Netzwerke wurden erstmals 1973 von Horst Feistel in seinem Artikel "Cryptography and Computer Privacy" (als gescannte Bilder) beschrieben. Sie dienen der Beschreibung einer Runde in einem Produktalgorithmus.
Jeder Block wird in zwei gleich große Hälften geteilt. In der
i-ten Runde wird die linke Hälfte des (Klartext-)Blocks als
,
die rechte als
bezeichnet. Die Verschlüsselungsfunktion f
verwendet einen
geheimen Schlüssel
,
um aus einem gegebenen (Klartext-)block
einen (Geheimtext-)block
zu erzeugen. Die eigentliche Verschlüsselung
erfolgt dann, indem die
beiden Halbblöcke vertauscht und
mit
XOR-verknüpft werden:
Grafisch lässt sich das Ganze folgendermaßen darstellen:
Für die Entschlüsselung muss dieser Prozess umgekehrt werden. Das Ergebnis von Runde i ist
Zum Entschlüsseln werden
und
getauscht, außerdem wird der Rundenindex i
rückwärts
statt vorwärts gezählt. Führt man die Runde erneut durch, so
ergibt sich
Grafisch lässt sich das Ganze folgendermaßen darstellen:
Wie man sieht, ist das Entschlüsselungsprinzip unabhängig von
Blocklänge und Rundenzahl. Auch die Verschlüsselungsfunktion
muss nicht mehr wie bei den klassischen
Verfahren umkehrbar sein. Bisher
war eine Grundbedingung der kryptographischen Verfahren, dass die
Umkehrung
der Verschlüsselungsfunktion
nur bei Kenntnis des Schlüssels S möglich ist. Bei
Feistel-Netzwerken reicht die Forderung, dass ohne Kenntnis des
Schlüssels S keine der Funktionen
berechnet werden kann. Dies ist eine deutlich
einfachere Aufgabe, da
auf die Umkehrbarkeit nicht mehr geachtet werden muss.
Feistel-Netzwerke werden in vielen kryptographischen Verfahren eingesetzt, so z.B. in DES oder Blowfish.
Der Data Encryption Standard DES entstand in Folge einer 1973 vom US-amerikanischen National Bureau of Standards (NBS, heute NIST) gestarteten Ausschreibung für einen einheitlichen, sicheren Verschlüsselungsalgorithmus. Die ersten Ergebnisse waren mehr als mager: Kein einziger der eingereichten Entwürfe erfüllte auch nur annähernd die Anforderungen. Erst nach einer zweiten Ausschreibung 1974 wurde von einem IBM-Team, dem u.a. der bereits oben erwähnte Horst Feistel angehörte, ein auf dem IBM-Projekt Lucifer basierender Algorithmus eingereicht. Ende 1976 wurde dieser nach eingehender Prüfung durch das NBS und die hinzugezogene National Security Agency (NSA) zum offiziellen Standard erklärt.
Über die Beteiligung der NSA ranken Gerüchte, so soll der Algorithmus absichtlich unsicherer gemacht oder eine Hintertür eingebaut worden sein. 1978 untersuchte ein Komitee mit Zugriff auf geheime Unterlagen diese Befürchtungen und erklärte sie für unbegründet, hielt die Begründung dafür jedoch geheim.
Der Algorithmus des DES-Verfahrens wird in der nächsten Folge vorgestellt.
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 – Grundlagen"