DES Verschlüsselung

DES steht für Data Encryption Standard. Der DES-Verschlüsselungsalgorithmus wurde ursprünglich von IBM entwickelt. Eine Variante des Algorithmus wurde 1974 von der US-Amerikanischen "National Security Agency" (NSA) leicht modifiziert veröffentlicht. Im Jahre 1976 wurde der modifizierte DES-Algorithmus von den USA als Bundesstandard anerkannt.Kein anderer Staat machte den DES-Algorithmus zum Standard. Dies könnte daran gelegen haben, dass die USA vielleicht damals schon durch die NSA in der Lage waren, den Algorithmus zu knacken (Deshalb wurde der Algorithmus auch vor der Anerkennung als Standard leicht abgeändert).Lange Zeit galt DES als sehr sichere Verschlüsselung. Jedoch musste dadurch, dass Computer immer besser und die Computerpreise immer niedriger wurden, DES mit seinen nur 56 Bit Verschlüsselungsstärke (von Seite der Regierungen) als zu schwach gesehen werden und so wurde nach einem neuen Standard, dem AES (Advanced Encryption Standard) gesucht.DES ist eine Blockchiffrierung, die mit 64-Bit-Blöcken arbeitet: Aus den 64 Bit großen Blöcken des Plaintextes erzeugt der DES-Algorithmus 64 Bit große Chiphertexte. Der Schlüssel, der zum Verschlüsseln benutzt wird, hat ebenfalls eine Länge von 64 Bit. Dabei ist jedoch die effektive Schlüssellänge nur 56 Bit, da jedes 8. Bit ein Paritätsbit ist.DES setzt zum Verschlüsseln eine Reihe von Permutationen und Substitutionen ein. Das sieht im Prinzip so aus…AnfangspermutationEs wird ein 64 Bit großer Block des Plaintextes genommen und die Reihenfolge der Bits vertauscht (wie, ist für die Sicherheit egal). Der daraus entstehende 64-Bit-Block wird in 2 Register (Daten-Register) geschrieben (linkes: L-Block und rechtes: R-Block genannt). Aus dem 64-Bit langen Schlüssel werden die 56 relevanten Bits bestimmt. Dies sind alle Bits ohne Paritätsbits (jedes achte Bit ist ein Paritätsbit). Diese 56 Bits werden nun ebenfalls einer Permutation unterworfen und in zwei 28-Bit-Blöcke (Schlüssel-Register) aufgeteilt.Es wird nun der folgende Schritt insgesamt 16 mal wiederholt: Die Bits im Schlüsselregister werden zunächst zyklisch um ein bis zwei Stellen verschoben. 48 Bit aus dem 56 Bit umfassenden Schlüsselregister werden als Rundenschlüssel ausgewählt. Der R-Block (rechtes Datenregister) wird von 32 auf 48 Bit ausgedenhnt (Expansion) und der 48 Bit lange Schlüsselblock wird mit dem nun gleichlangen Datenblock kombiniert. Dies geschieht durch ein logisches XOR.Der so entstandene neue 48-Bit-Block wird in 8 Blöcke der Größe 6-Bit aufgeteilt und durch acht sogenannte "Substitutionsboxen" (S-Boxen) geschickt, welche zusammen einen neuen 32-Bit großen Block erzeugen. (Jede Substitutionsbox wirft also nur 4 Bit wieder aus). Die Bits im neuen 32-Bit-Block werden erneut transponiert und der daraus entstehende 32-Bit-Block wird durch ein XOR mit den 32-Bit des linken Datentregisters verknüpft. Der alte R-Block wird zum neuen L-Block. Das Ergebnis der XOR-Verknüpfung wird zum neuen R-Block.Das linke und das rechte Datenregister werden nun wieder zu einem 64-Bit Block zusammengefügt. Die am Anfang der Verschlüsselung verwendete Eingangspermutation wird nun in inverser Form als Ausgangspermutation angewendet. (Die Anfangs- und Ausgangspermutationen nehmen somit keinen Einfluss auf die Sicherheit der Verschlüsselung).Schwachstellen von DES:Es existieren schwache bzw. semischwache Schlüssel. Bei diesen werden durch die Schlüsselpermutation die Bits so gesetzt, dass die 16 generierten Teilschlüssel nahezu identisch werden. Der gravierendste Schwachpunkt ist aber die geringe Mächtigkeit des Schlüsselraumes von 2 hoch 56, welcher heutzutage einem Brute-Force-Angriff nicht mehr standhalten kann.Bekannte Verfahren:ECB: Electronic Code Book ModeCBC: Cipher Block ChainingCFB: Cipher Feedback Block ModeOFM: Output Feedback ModeDiese Verschiedenen Modi geben nur an, wie der Codierte Text übertragen wird. Details dazu können hier als Pdf-Dokument heruntergeladen ( DES.PDF)werden.