Führen Sie die Grundkonzepte von Blockchiffren ein.
Erklären Sie das Funktionsprinzip, die Vor- und Nachteile sowie Anwendungsszenarien des ECB-Modus.
Detaillierte Einführung in das Funktionsprinzip, Vor- und Nachteile sowie Anwendungsszenarien des CBC-Modus.
Erklären Sie das Funktionsprinzip, die Vor- und Nachteile sowie Anwendungsszenarien des CFB-Modus.
Erläutern Sie das Funktionsprinzip, die Vor- und Nachteile sowie Anwendungsszenarien des OFB-Modus.
Fassen Sie zusammen und geben Sie Vorschläge zur Modusauswahl.
Warum
Wenn Klartext beliebiger Länge verschlüsselt werden muss, ist zur Verschlüsselung eine Gruppeniteration erforderlich. Es gibt viele Arten von Blockchiffren. Wenn der Modus nicht richtig gewählt wird, kann die Vertraulichkeit des Textes nicht vollständig gewährleistet werden.
Grundkonzepte von Blockchiffren und Stromchiffren
Blockchiffre : Teilen Sie Klartextdaten in Blöcke fester Länge (normalerweise 128 oder 64 Bit) auf und verschlüsseln Sie sie dann Block für Block. Jeder Block wird Block genannt.
Stream Chiffre: Verschlüsselungsalgorithmus zur kontinuierlichen Verarbeitung von Datenströmen, bitweise oder byteweise Verschlüsselung, geeignet zur Verschlüsselung von Datenströmen.
Was ist Muster?
Das Muster ist ein iterativer Algorithmus für die Blockverschlüsselung
Beispielsweise verwenden wir häufig den ECB-Modus im DES-Algorithmus. Der ECB-Modus ist eine Methode, Klartext in mehrere Gruppen zu unterteilen und diese einzeln zu verschlüsseln. Der ECB-Algorithmus verfügt über einen geringen Rechenaufwand und eine schnelle Ver- und Entschlüsselungsgeschwindigkeit, es wurde jedoch inzwischen bewiesen, dass ECB ein unzuverlässiger Modus ist. Benutzen Sie den EZB-Modus also nicht bei formellen Anlässen
Häufige Muster in Blockchiffren
1. ECB-Modus (elektronischer Codebuchmodus)
ECB gruppiert den Klartext und verschlüsselt ihn direkt, um Chiffretextgruppen zu generieren.
Arbeitsprinzip:
Teilen Sie Klartext in mehrere Pakete fester Länge auf.
Jede Gruppe ist unabhängig verschlüsselt.
Vorteil:
Die Berechnung ist einfach und schnell.
Unterstützt Parallelverarbeitung.
Mangel:
Dieselbe Klartextgruppierung führt zu derselben Chiffretextgruppierung, und das Muster und die Struktur des Klartexts können nicht ausgeblendet werden.
Anfällig für statistische Analyseangriffe.
Anwendungsszenarien:
Nicht für die Verschlüsselung sensibler Informationen geeignet und nicht für den Einsatz bei formellen Anlässen empfohlen.
Im ECB-Modus haben Klartext und Chiffretext eine Eins-zu-Eins-Entsprechung. Der gleiche Klartext muss zum gleichen Chiffretext führen.Obwohl der Klartext nicht direkt aus dem Chiffretext abgeleitet werden kann, können gezielte Angriffe auf der Grundlage der Eigenschaften des Chiffretexts durchgeführt werden.
Beispiel: Bob sendet eine Übertragungsnachricht an Alice:
分组1=Bob的银行账号
分组2=Alice的银行账号
分组3= 转账金额
Obwohl Eve die Kontonummer und den Betrag nicht direkt ändern kann (da keine entschlüsselten Daten vorliegen), kann Eve durch den Austausch von Gruppe 1 und Gruppe 2 einen Angriff verursachen.
分组1=Alice的银行账号
分组2=Bob的银行账号
分组3= 转账金额
Diese Angriffsmethode ist erfolgreich, da ECB keine Klartextinformationen verbirgt.
2. CBC-Modus (Ciphertext-Gruppenverkettungsmodus)
Chiffriertext-Gruppen-Link-Modus
Arbeitsprinzip:
Der erste Klartextblock wird mit dem Initialisierungsvektor (IV) XOR-verknüpft und dann verschlüsselt, um den ersten Chiffretextblock zu erzeugen.
Jede nachfolgende Klartextgruppe wird mit der vorherigen Chiffretextgruppe XOR-verknüpft und dann verschlüsselt, um die entsprechende Chiffretextgruppe zu generieren.
Vorteil:
Kann Klartextmuster und -strukturen verbergen, um die Sicherheit zu verbessern.
Unterstützt parallele Entschlüsselung.
Mangel:
Parallele Verarbeitung wird bei der Verschlüsselung nicht unterstützt und muss seriell erfolgen.
Wenn eine bestimmte Chiffretextgruppe beschädigt ist, wirkt sich dies auf die Entschlüsselung der aktuellen und nächsten Gruppe aus.
Der Kernbestandteil von CBC besteht darin, die vorherige Chiffretextgruppe als Variable in die nächste Klartextverschlüsselung einzubringen. Auf diese Weise werden nach der Chiffretext-XOR-Operation unterschiedliche Ergebnisse angezeigt, selbst wenn der Klartext derselbe ist. Auf diese Weise wird der Zweck der Verschleierung von Klartextinformationen erreicht.
Aber ich weiß nicht, ob Sie bemerkt haben, wie man mit der ersten Klartextgruppe umgeht? Bei der Verarbeitung des ersten Klartextpakets ist das XOR 0. Anschließend degeneriert das Chiffretextpaket A in den ECB-Modus. Um diese Situation zu vermeiden, müssen wir eine anfängliche Chiffretextgruppe künstlich ergänzen. Diese anfängliche Chiffretextgruppe wird als IV-Komponente bezeichnet.
Anwendungsszenarien:
Wird in Szenarien verwendet, in denen hohe Sicherheit erforderlich ist und eine serielle Verschlüsselung toleriert werden kann, beispielsweise bei der Dateiverschlüsselung.
3. CFB-Modus (Ciphertext-Feedback-Modus)
Eine Verbesserung gegenüber dem CBC-Modell
Im CFB-Modus wird nur die XOR-Operation zwischen der Klartextgruppe und der Chiffretextgruppe durchgeführt. In diesem Moment hat die Ausgabe des kryptografischen Algorithmus eine einmalige Bedeutung.
Arbeitsprinzip:
Der erste Klartextblock wird mit dem Initialisierungsvektor (IV) XOR-verknüpft und dann verschlüsselt, um den ersten Chiffretextblock zu erzeugen.
Jede nachfolgende Klartextgruppe wird mit der vorherigen Chiffretextgruppe XOR-verknüpft und dann verschlüsselt, um die entsprechende Chiffretextgruppe zu generieren.
Vorteil:
Unterstützt parallele Entschlüsselung.
Kann jede Chiffretextgruppe entschlüsseln.
Mangel:
Nicht immun gegen Wiederholungsangriffe.
Anwendungsszenarien:
Verschlüsselung von Echtzeitkommunikation, z. B. Netzwerkdatenübertragung.
4. OFB-Modus (Ausgangsrückkopplungsmodus)
Ausgabe-Feedback-Modus. Die Ausgabe des kryptografischen Algorithmus wird in die Eingabe des kryptografischen Algorithmus zurückgeführt
OFB verschlüsselt Klartext nicht durch einen kryptografischen Algorithmus, sondern generiert Chiffretext durch XOR-Verknüpfung der Klartextgruppe mit der Ausgabe des kryptografischen Algorithmus. OFB und CFB sind also auch etwas ähnlich.
Arbeitsprinzip:
Der Initialisierungsvektor (IV) wird in den Verschlüsselungsalgorithmus eingegeben und erzeugt eine pseudozufällige Ausgabe.
Die Klartextgruppe wird mit der Pseudozufallsausgabe XOR-verknüpft, um eine Chiffretextgruppe zu erzeugen.
Die pseudozufällige Ausgabe wird an den Verschlüsselungsalgorithmus zurückgeführt, der weiterhin die nächste pseudozufällige Ausgabe generiert.
Vorteil:
Es ist keine Polsterung erforderlich.
Wenn der Chiffretext fehlerhafte Bits enthält, sind nur die entsprechenden Klartextbits fehlerhaft.
Mangel:
Parallele Entschlüsselung wird nicht unterstützt.
Es besteht die Gefahr von Bit-Reversal-Angriffen.
Anwendungsszenarien:
Szenarien, die eine hohe Fehlertoleranz erfordern, wie z. B. Videostream-Verschlüsselung.
Vorschläge zur Modusauswahl
ECB-Modus: Einfach und schnell, aber unsicher und nicht zu empfehlen.
CBC-Modus: Geeignet für Szenarien mit hohen Sicherheitsanforderungen, wie z. B. Dateiverschlüsselung, und wird empfohlen.
CFB-Modus: Geeignet für Echtzeitkommunikation und unterstützt parallele Entschlüsselung, muss jedoch Replay-Angriffe verhindern.
OFB-Modus: Geeignet für Szenarien mit hohen Anforderungen an die Fehlertoleranz, unterstützt jedoch keine parallele Entschlüsselung.