Zum Hauptinhalt springen

Was ist der Data Encryption Standard (DES) in der Kryptographie?

Veröffentlicht am:
.
8 Minuten Lesezeit
.
Für die Englische Version

Kryptografen haben schon immer ein System gewünscht, das schnell verschlüsselt und gleichzeitig praktisch unmöglich zu knacken ist. Öffentliche Schlüssel-Systeme haben das Interesse von Mathematikern geweckt, da sie auf grundlegender Zahlentheorie basieren, aber öffentliche Schlüssel-Algorithmen sind für die meisten Datenübertragungen zu langsam. Also begannen private Schlüsseltechniken, eine Rolle zu spielen. Private-Key-Techniken sind oft schneller als Public-Key-Algorithmen. Der Data Encryption Standard (DES) ist der Hauptalgorithmus für private Schlüssel und basiert auf einer kryptografischen Implementierung, die der Public-Key-Kryptographie vorausgeht.

DES war der erste Verschlüsselungsalgorithmus, der von der US-Regierung für die öffentliche Nutzung zertifiziert wurde. Das bedeutete, dass es sofort von Unternehmen angenommen wurde, die eine robuste Verschlüsselung benötigen, wie zum Beispiel Finanzdienstleistungen. Aufgrund seiner Benutzerfreundlichkeit wurde DES in einer Reihe von eingebetteten Systemen eingesetzt, darunter: intelligente Karten, SIM-Karten, Modems und Router. DES hat an weit verbreiteter Beliebtheit gewonnen und wird oft als die am häufigsten verwendete Verschlüsselungsmethode angesehen. Seit mehr als zwei Jahrzehnten ermöglicht DES Banken, Finanztransaktionen und Geldüberweisungen elektronisch durchzuführen, sowie elektronischen Handel und die Globalisierung der Finanzmärkte.

Die Entwicklung von DES hat zur Gründung einer Kryptoindustrie geführt. Andere symmetrische Verschlüsselungsalgorithmen wurden entwickelt, obwohl keiner so bekannt ist wie DES. Selbst Public-Key-Algorithmen wie RSA können in Bezug auf kommerzielle Nutzung oder kryptografische Leistung nicht mit DES konkurrieren.

Was bedeutet der Data Encryption Standard?

Der DES-Algorithmus, auch bekannt als Data Encryption Standard, ist eine Art symmetrischer Blockchiffre, die in den frühen 1970er Jahren von einem Team bei IBM entwickelt und später vom National Institute of Standards and Technology (NIST) anerkannt wurde. Der DES-Algorithmus verarbeitet den Eingabetext in Blöcken von 64 Bit und wandelt ihn mit Schlüsseln von 48 Bit in verschlüsselten Text um.

Der Data Encryption Standard verwendet eine kryptografische Technik, die zur Sicherung von Daten eingesetzt wird, indem ein einzelner privater Schlüssel sowohl für die Verschlüsselung als auch für die Entschlüsselung von Nachrichten verwendet wird. DES akzeptiert eine 64-Bit-Eingabe und erzeugt eine 64-Bit-Ausgabe. Der Algorithmus fügt einen zusätzlichen Eingang hinzu, der ein geheimer Schlüssel mit einer Länge von 64 Bit ist. Für die Verschlüsselung und Entschlüsselung wird der Blockchiffren-Algorithmus verwendet, und die Nachricht wird in Bitblöcke unterteilt.

Verschlüsselung ist der Prozess, bei dem Daten in einen bedeutungslosen Text umgewandelt werden, der als "Chiffretext" bekannt ist. Das Entschlüsseln des Chiffretextes gibt die ursprünglichen Klartextdaten zurück. Es verwendet eine typische Art von Technik, die als symmetrischer Algorithmus bezeichnet wird, um Informationen von Chiffre zu Klartext zu konvertieren.

Verschlüsselung

Abbildung 1. Verschlüsselung

Geschichte des Data Encryption Standard

Der Data Encryption Standard begann sich als Folge einer Forschungsinitiative von IBM Ende der 1960er Jahre zu entwickeln, die zur Schaffung des LUCIFER-Codes führte. DES basiert auf dem Feistel-Blockchiffre namens "Lucifer", der 1971 von dem IBM-Kryptographie-Spezialisten Horst Feistel erfunden wurde.

DES wurde Anfang der 1970er Jahre von einer Gruppe von IBM-Kryptographen unter der Leitung von Walter L. Tuchman entwickelt und als Kandidatenalgorithmus als Antwort auf eine am 15. Mai 1973 im Federal Register veröffentlichte Bekanntmachung eingereicht, die zur Einreichung von "kryptografischen Algorithmen" aufrief. Daraufhin wurde beschlossen, LUCIFER Anfang der 1970er Jahre auf den Märkten anzubieten, und DES erhielt eine Reihe von bedeutenden Modifikationen. IBM war nicht das einzige Unternehmen, das an diesen Verbesserungen beteiligt war; sie baten auch um technische Unterstützung von der National Security Agency (NSA). IBM und die NSA arbeiteten zusammen und schlugen einen neuen nationalen Verschlüsselungsstandard vor. Es wurde schließlich 1977 als Data Encryption Standard akzeptiert und 1983, 1988 und 1999 erneut als Standard bestätigt.

Eine Reihe von Herausforderungen wurde gesponsert, um zu testen, wie lange es dauern würde, eine Nachricht zu entschlüsseln, um zu demonstrieren, dass DES unzureichend war und nicht mehr in wichtigen Systemen verwendet werden sollte. Der erste Wettbewerb im Jahr 1997 dauerte 84 Tage, um die verschlüsselte Nachricht mit einem Brute-Force-Angriff zu knacken. Anfang 1999 dauerte die letzte DES-Herausforderung nur 22 Stunden und 15 Minuten. Die Nachricht wurde vom Deep Crack-Computer der Electronic Frontier Foundation entschlüsselt, und sie gewannen die Herausforderung.

Die Pionierarbeit von DES in der Industrie endete mit der Entwicklung neuer Verschlüsselungsmethoden. Im Jahr 2001 akzeptiert das National Institute of Standards and Technology (NIST) Rijndael als Alternative zu DES. Nach einem öffentlichen Wettbewerb zur Suche nach einem Ersatz für DES trat der Advanced Encryption Standard (AES) im Jahr 2002 als genehmigter Standard an seine Stelle.

Warum ist der Data Encryption Standard wichtig?

Das Ziel der Datenverschlüsselung ist es, die Privatsphäre numerischer Daten zu schützen, wenn sie auf Computern gespeichert und über das Internet oder andere Computernetzwerke übertragen werden. Obwohl der DES-Algorithmus im Laufe der Zeit mit neuen aktuellen Algorithmen verändert wird, behält er dennoch seine Bedeutung. Mit Authentifizierung, Gültigkeit und Nichtabstreitbarkeit bieten diese Algorithmen Privatsphäre und erzeugen kritische Sicherheitskonzepte.

Trotz der Tatsache, dass DES veraltet ist, ist es immer noch wichtig, diesen Algorithmus zu verstehen. Wenn es um Kryptographie geht, kann die Bedeutung des DES-Algorithmus nicht genug betont werden. Der Grund dafür ist, dass der DES-Algorithmus als Grundlage für alle zukünftigen Verschlüsselungstechniken diente. Sobald die Ursprünge der Datenverschlüsselung bekannt sind, wird das Verständnis der Grundlagen moderner Verschlüsselungssysteme einfach.

Starten Sie noch heute kostenlos mit Zenarmor

Wie funktioniert der Data Encryption Standard?

Die DES-Verschlüsselung verschlüsselt Klartext, indem sie ihn in kleinere Teile (64-Bit-Blöcke) zerlegt und einen kryptografischen Schlüssel verwendet, um ihn zu entschlüsseln. Im Wesentlichen nimmt es Ihre lesbare Nachricht und verwandelt sie, Block für Block, in unverständliche Wörter, die nur vom Inhaber des Entschlüsselungsschlüssels entschlüsselt werden können.

Der DES-Algorithmus basiert auf Feistels Lucifer-Verschlüsselung. Transpositions- und Substitutionsverschlüsselung wird verwendet, um die Lucifer-Verschlüsselung zu erstellen. Es ist eine Blockchiffre, daher verschlüsselt sie im Gegensatz zu einer Stromchiffre nicht alle Daten auf einmal. Stattdessen teilt es die Daten in Blöcke auf, was die Verschlüsselung schneller und sicherer macht.

Im Rahmen der Feistel-Struktur verwendet DES die Funktionen der anfänglichen Permutation (IP) und der endgültigen Permutation (FP). Die IP ist die Anfangsphase und beinhaltet die Neuanordnung der Bits im Klartext-Input. Danach folgen 16 Runden von Operationen bis zur endgültigen Permutation. Permutierte Blöcke werden in zwei Hälften von jeweils 32 Bit getrennt; linker Klartext (LPT) und rechter Klartext (RPT). Diese Blöcke, die in zwei linke und rechte Hälften geteilt sind, werden für 16 Runden wiederholt und unterzogen einer Verschlüsselung. Jede Runde hat Prozesse, die aus 5 verschiedenen Schritten bestehen.

  1. Schlüsseltransformation

  2. Erweiterung Permutation

  3. S-Box-Permutation

  4. P-Box Permutation

  5. Exklusives Oder (XOR) und Tausch

Nachdem all diese 5 Schritte 16 Runden wiederholt wurden, werden LPT und RPT kombiniert und führen die endgültige Permutation durch. Es ergibt den endgültigen Chiffretext. Infolgedessen kann derselbe Schlüssel, der Ihre Klartextdaten verschlüsselt, auch zur Entschlüsselung verwendet werden. Die Entschlüsselung ähnelt der Verschlüsselung, da sie denselben Prozessen folgt, jedoch in umgekehrter Reihenfolge.

Wie Blockchiffren funktionieren

Abbildung 2. Wie Blockchiffren funktionieren

Wie DES-Verschlüsselung funktioniert

Abbildung 3. Wie DES-Verschlüsselung funktioniert

Was sind die Schritte des DES-Algorithmus?

Der Data Encryption Standard hat 64-Bit große Blöcke, 56-Bit große Schlüssel (tatsächlich 64 Bit, aber 8 Bits sind Paritätsprüfziffern, die zur Fehlerkontrolle verwendet werden) und läuft in 16 Runden. Die folgenden Schritte sind im Algorithmusprozess enthalten:

  1. Zunächst wird der Text in 64-Bit-Blöcke unterteilt. Ein Problem ist, dass nicht alle Nachrichten Längen haben, die genau durch 64 teilbar sind, daher kann der letzte Block weniger als 64 Bits haben. Das bedeutet, dass der letzte Abschnitt der Nachricht mit zusätzlichen Informationen aufgefüllt werden muss, um den verbleibenden Platz zu füllen. Eine effektive Lösung besteht darin, die Lücke am Ende der Nachricht mit 0en zu füllen, die während der Entschlüsselung anschließend entfernt werden.

  2. Nachdem der Klartext in Blöcke von jeweils 64 Bit unterteilt wurde, werden alle Blöcke der Anfangspermutation unterzogen. Der Transpositionsprozess beginnt mit dieser Anfangspermutation. Diese Permutationen nehmen jeweils einen 64-Bit-Eingang und permutieren ihn gemäß einer vorgegebenen Regel. Bei der ersten Permutation wird zum Beispiel das 58. Bit im Eingangsbereich zum ersten Bit im Ausgangsbereich. Ähnlich wird das erste Bit im Eingang im letzten Permutationsschritt zum 58. Bit im Ausgang.

    Schritt 2 im DES

    Abbildung 4. Schritt 2 im DES

  3. Das Ergebnis der anfänglichen Permutation wird als Eingabe für die Feistel-Funktion verwendet, die wir als A bezeichnen werden. A hat eine Größe von 64 Bit. Der LPT (linker Klartext) und der RPT (rechter Klartext) werden in zwei Teile getrennt, wobei jeder 32 Bit hat. Es gibt 16 Runden von Operationen bis zur endgültigen Permutation. Der Algorithmus hat zwei Hauptteile: einen Tauscher und einen Mischer. Jede dieser Komponenten ist umkehrbar. Die Swappers-Funktion tauscht die linke Hälfte des Textes mit der rechten Hälfte des Textes.

    Schritt 3 im DES

    Abbildung 5. Schritt 3 im DES

  4. LPT und RPT durchlaufen beide 16 Verschlüsselungszyklen. Die f-Funktion hat vier Phasen und ist schlüsselabhängig.

    • Erweiterungspermutation: Die Erweiterungspermutation wird verwendet, um einen 32-Bit-Halbblock auf 48 Bits zu erweitern. Es erstellt einen 48-Bit-Block, indem benachbarte Bits von beiden Seiten des Blocks zu den 32 Bits des Blocks hinzugefügt werden.
    • S-Box-Permutation: Die einzige nichtlineare Komponente des DES-Algorithmus ist eine Substitutionsbox-Permutation oder S-Box. Es verleiht der Verschlüsselung eine zusätzliche Sicherheitsschicht. Der Block wird in acht 6-Bit-Teile getrennt, sobald er mit dem Teilchlüssel kombiniert wurde. Die S-Box-Technik verwendet eine Nachschlagetabelle, um jeden der acht 6-Bit-Teile in einen 4-Bit-Ausgang umzuwandeln, was zu einem Gesamtausgang von 32 Bit führt.
    • P-Box-Permutation: Die 32-Bit-Ausgabe der S-Box-Permutation wird mithilfe der P-Box-Permutation neu angeordnet. Für den folgenden Verschlüsselungszyklus stellt die P-Box-Permutation sicher, dass die Ausgabe jeder S-Box auf vier verschiedene S-Boxen verteilt wird.
    • ExclusiveOR (XOR): Die XOR-Funktion vergleicht zwei Bitmuster, die entweder 1 oder 0 sein können. Die XOR-Ausgabe ist 0, wenn die Bits beider Sätze übereinstimmen. Wenn sie jedoch nicht übereinstimmen, ist das Ergebnis 1. Die Verschlüsselung ist aufgrund dieses Bit-für-Bit-Vergleichs stärker.
  5. LPT und RPT werden schließlich in die letzte Phase integriert. Die kombinierten LPT und RPT werden dann permutiert, um einen endgültigen Geheimtext zu erstellen. Sein letzter Permutationsschritt. Das Inverse der IP ist die endgültige Permutationstabelle. Infolgedessen wird der letzte Schritt der Verschlüsselung durch die Umkehrung des ersten Schrittes durchgeführt.

Was sind DES-Betriebsarten?

Basierend auf ihrem Eingabetyp werden Verschlüsselungsalgorithmen in zwei Typen unterteilt: Blockchiffren und Stromchiffren. Ein Blockchiffre ist eine Art von Verschlüsselungsmethode, die eine feste Größe des Eingangs erhält, x Bits werden eingegeben, und x Bits des Chiffretextes werden verschlüsselt. Wenn die Eingabe größer als b Bits ist, kann sie weiter unterteilt werden. Ein Blockchiffre hat mehrere Betriebsarten, um verschiedene Anwendungen und Verwendungen auszuführen.

Es gibt 5 verschiedene Betriebsarten im DES-Algorithmus. Die DES-Betriebsarten sind oben aufgeführt:

  1. Cipher Block Chaining (CBC)
  2. Cipher Feedback (CFB)
  3. Elektronisches Codebuch (ECB)
  4. Ausgabe-Feedback (OFB)
  5. Zähler (CTR)

1. Cipher Block Chaining (CBC)

Am Senderende bezieht sich der CBC-Modus auf Cipher Block Chaining, das den Klartext in Blöcke unterteilt. Der Initialisierungsvektor, der ein zufälliger Text sein kann, wird in diesem Modus verwendet. Der Initialisierungsvektor wird verwendet, um den Chiffretext jedes Blocks einzigartig zu machen.

Die XOR-Operation wird verwendet, um den anfänglichen Block des Klartexts mit dem Initialisierungsvektor (IV) zu verschmelzen. Dann verschlüsseln Sie die erstellte Nachricht mit dem Schlüssel und erstellen den ersten Block des Chiffretexts. Der IV für den zweiten Block des Klartexts ist der erste Block des Chiffretexts. Für alle Klartextblöcke wird derselbe Ansatz verwendet.

Der Chiffretext wird auf der Empfängerseite in Blöcke aufgeteilt. Der gleiche Schlüssel, der für die Verschlüsselung verwendet wurde, wird verwendet, um den ersten Block des Chiffretextes zu entschlüsseln. Der erste Block des Klartexts wird durch XORen des entschlüsselten Ergebnisses mit dem IV gebildet. Der gleiche Schlüssel wird verwendet, um den zweiten Block des Chiffretextes zu entschlüsseln, und das Ergebnis wird mit dem ersten Block des Chiffretextes XOR-verknüpft, um den zweiten Block des Klartextes zu erzeugen. Die Blöcke werden alle auf die gleiche Weise erstellt. Ein Nachteil dieser Technik ist, dass eine gleichzeitige Verschlüsselung nicht möglich ist, da jede Verschlüsselung einen vorhergehenden Chiffrierungsschritt erfordert.

2. Cipher Feedback (CFB)

CFB-Modus ist eine Abkürzung für Cipher Feedback Mode. Der Cipher-Feedback-Modus ist eine Art Blockchiffre, die Feedback-Verschlüsselung auf Segmenten anstelle von Blöcken durchführt, um pseudorandomisierte Bits zu erzeugen. Jedes Segment kann so klein wie ein Bit oder so groß wie die gesamte Blockgröße sein, die durch den von Ihnen ausgewählten Algorithmus definiert ist. Die Daten werden in diesem Modus in Form von 8-Bit langen Einheiten verschlüsselt. Der Initialisierungsvektor (IV) wird auf die gleiche Weise wie im Cipher Block Chaining-Modus initialisiert. Der IV wird im Schichtprotokoll aufgezeichnet. Es wird mit dem Schlüssel verschlüsselt, um den Geheimtext zu erstellen.

Ein Chiffreblock ist von allen vorhergehenden Klartextblöcken abhängig; eine Umordnung hat Auswirkungen auf die Entschlüsselung. Fehler breiten sich über mehrere Blöcke nach dem Fehler aus, jedoch ist der Modus, wie CBC, selbstsynchronisierend. Jeder neue Eingabeblock verschlüsselt den folgenden Block unter Verwendung des Chiffretextes des vorhergehenden Ausgabeblocks, ein Prozess, der als Feedback bekannt ist. Der Schlüsselstrom wird durch die Verschlüsselungsmethode erzeugt und im unteren Register gespeichert. Zwischen diesem Schlüsselstrom und dem Klartext wird eine XOR-Funktion verwendet.

3. Elektronisches Codebuch (ECB)

ECB ist der einfachste Betriebsmodus für Blockchiffren. Der Klartext wird in diesem Modus in 64-Bit-Blöcke aufgeteilt. Danach wird jeder Block unabhängig verschlüsselt. Zuerst wird der erste Block verschlüsselt und dieser Prozess wird fortgesetzt, bis der letzte Block verschlüsselt ist. Der gleiche Schlüssel wird verwendet, um alle Blöcke zu verschlüsseln; es werden keine zusätzlichen Variablen verwendet. Wenn ECB mehrmals im selben Klartext angewendet wird, erzeugt es den identischen Chiffretext, was es relativ einfach macht, ihn zu knacken. Daher kann es mit Man-in-the-Middle- und Brute-Force-Angriffsmethoden leicht aufgedeckt werden, und die verschlüsselten Informationen können entschlüsselt werden.

Es gibt keine Verkettung und keine Fehlerausbreitung in diesem Modus. Der vorteilhafteste Teil ist, dass es möglich ist, Bitblöcke gleichzeitig zu verschlüsseln. Dieses Merkmal macht es zu einem schneller arbeitenden Verschlüsselungsmodus.

4. Output-Feedback (OFB)

Der Ausgangs-Feedback-Modus wird als OFB abgekürzt. Das Design von OFB ähnelt dem von CFB. Der Hauptunterschied zwischen OFB- und CFB-Modus besteht darin, dass im CFB der Chiffretext für den nächsten Schritt des Verschlüsselungsprozesses verwendet wird, während im OFB das Ergebnis der IV-Verschlüsselung für die folgenden Schritte verwendet wird. Der Schlüssel wird über ein internes Verfahren erstellt, das durch den Klartext oder den Chiffretext nicht beeinflusst wird. Infolgedessen haben identische Blöcke unterschiedliche Chiffretexte.

Einer der Vorteile des OFB-Modus ist, dass ein einzelner Bitfehler in einem Block im Fall von CFB auf alle folgenden Blöcke übertragen wird. OFB löst dieses Problem, da der Klartextblock frei von Bitfehlern ist.

5. Zähler (CTR)

CTR-Modus ist eine Abkürzung für Zählermodus. Wie der Name schon sagt, verwendet es eine Reihe von Ganzzahlen als Eingabe für den Algorithmus. Beim Verschlüsseln eines Blocks wird der nächste Zählerwert verwendet, um die nächste Ganzzahl zu füllen.

Um zu verschlüsseln, wird der erste Zähler mit einem Schlüssel verschlüsselt, und dann wird der Klartext mit dem verschlüsselten Ergebnis XOR-verknüpft, um den Chiffretext zu erzeugen. Der Zähler wird für den nächsten Schritt um eins erhöht, und die gleiche Methode wird für alle Blöcke fortgesetzt. Das identische Verfahren wird auch für die Entschlüsselung verwendet. Jeder Chiffretext wird mit dem verschlüsselten Zähler XOR-verknüpft, um ihn in Klartext umzuwandeln. Der Zähler wird für den nächsten Schritt inkrementiert, und dies wird für alle Ciphertext-Blöcke wiederholt.

Es gibt keine Kettenabhängigkeiten und keine Fehlerausbreitung in diesem Modus. Im Zählermodus können sowohl Verschlüsselung als auch Entschlüsselung gleichzeitig durchgeführt werden.

Wie wird DES getestet?

Viele Unternehmen haben verschiedene Ansätze verwendet, um den DES zu implementieren. Ein Test für das DES sollte auf alle DES-Geräte anwendbar sein, unabhängig von der Implementierung, um am nützlichsten zu sein. Die Wartungstests beschränken sich daher auf die Überprüfung der Funktionsweise des Algorithmus an klar definierten Schnittstellen wie Eingabe, Schlüssel und Ausgabe. Die Testsoftware bestätigt die korrekte Funktionsweise der Implementierung, indem sie eines von vielen optionalen Testsets auf dem Gerät während des Gebrauchs ausführt.

Die pseudo-zufälligen Tests wurden durchgeführt, um sicherzustellen, dass jeder der Matrixoperatoren im Algorithmus eine Basis von Vektoren zugeführt wird. Alle Elemente der Methode werden sowohl mit Verschlüsselungs- als auch mit Entschlüsselungsverfahren getestet. Das Endergebnis jedes Tests wird mit einem einzelnen gespeicherten Wert verglichen, sobald alle Testzyklen abgeschlossen sind. Das System kann den Test bestehen, wenn die beiden Werte identisch sind; andernfalls sollte das System als nicht funktionsfähig betrachtet werden.

Was ist der Unterschied zwischen AES- und DES-Verschlüsselung?

Es gibt einige Unterschiede zwischen den AES- und DES-Methoden, die wir wie folgt auflisten können:

  • AES und DES sind beide symmetrische Blockchiffren. AES wurde geschaffen, um die Einschränkungen von DES zu beheben.
  • DES wurde 1976 entwickelt, aber AES wurde 1999 entwickelt.
  • Bevor der Hauptalgorithmus in DES beginnt, wird der Klartextblock in zwei Hälften getrennt, aber in AES wird der gesamte Block verarbeitet, um den Chiffretext zu erhalten.
  • Der Klartext hat in DES eine Länge von 64 Bit, in AES kann er 128-192-256 Bit betragen.
  • Im Vergleich zu AES ist die Schlüssellänge von DES geringer. AES arbeitet mit der größeren Schlüsselgröße.
  • DES hat 16 Verschlüsselungsrunden, aber AES hat 10 Runden für 128 Bit, 12 Runden für 192 Bit und 14 Runden für 256 Bit.
  • DES arbeitet langsamer als AES.
  • AES ist eine sicherere Verschlüsselung als DES und ist derzeit der internationale Standard. DES ist leicht zu knacken, da es bekannte Schwachstellen hat.
  • AES basiert auf einem Substitutions-Permutations-Netzwerk. Das Feistel-Netzwerk wird verwendet, um die DES-Struktur aufzubauen.