Heim >Backend-Entwicklung >PHP7 >Was sind die Unterschiede zwischen den Verschlüsselungsmethoden DES, ECB und CBC?

Was sind die Unterschiede zwischen den Verschlüsselungsmethoden DES, ECB und CBC?

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-07-12 09:22:574193Durchsuche

In PHP gibt es mehrere Verschlüsselungsmethoden, darunter DES, ECB und CBC. Heute werde ich Sie über die Unterschiede zwischen diesen drei Verschlüsselungsmethoden informieren.

Was sind die Unterschiede zwischen den Verschlüsselungsmethoden DES, ECB und CBC?

ECB-Modus: 1. Förderlich für paralleles Rechnen;

Nachteile:

1. Klartext kann nicht ausgeblendet werden Modus;

2. Möglicher aktiver Angriff auf Klartext;

DES ECB (elektronische Geheimbuchmethode) ist eigentlich sehr einfach, das heißt, DES verschlüsselt oder entschlüsselt die Daten in 8-Byte-Segmente oder Klartext, der letzte Absatz ist weniger als 8 Bytes (im Allgemeinen 0 oder F hinzufügen), 8 Bytes gemäß den Berechnungsanforderungen hinzufügen (Parallelberechnung) und dann die berechneten Daten der Reihe nach miteinander verbinden Die Datensegmente haben keinen Einfluss gegenseitig.

CBC-Modus:

Vorteile:

1. Nicht leicht aktiv anzugreifen, bessere Sicherheit als ECB, es ist der Standard von SSL und IPSec;

2. Fehlerausbreitung;

Der Initialisierungsvektor IV ist etwas mühsam. Der Implementierungsmechanismus ist wie folgt:

Die Verschlüsselungsschritte sind wie folgt:

1 Gruppieren Sie zunächst die Daten in Gruppen von 8 Bytes, um D1D2...Dn zu erhalten (wenn die Daten kein ganzzahliges Vielfaches von 8 sind, verwenden Sie (das angegebene PADDING-Datenauffüllen)

2. Der erste Datensatz D1 wird mit dem Initialisierungsvektor I XOR-verknüpft und das Ergebnis wird DES-verschlüsselt, um den ersten Satz Chiffretext C1 zu erhalten (der Initialisierungsvektor I besteht ausschließlich aus Nullen)

3. Der zweite Satz von Daten D2 und das Verschlüsselungsergebnis C1 der ersten Gruppe werden XOR-verknüpft und die nachfolgenden Ergebnisse werden DES-verschlüsselt, um die zweite Gruppe von Chiffretext C2

4 zu erhalten. Die nachfolgenden Daten können durch Analogie abgeleitet werden, um Cn

5 zu erhalten . Die Verkettung in der Reihenfolge ist C1C2C3.... .Cn ist das Verschlüsselungsergebnis.

Dies ist der Arbeitsmodus der Blockverschlüsselung. CBC ist der Chiffrierblockkettenmodus. ECB ist der Codebuchmodus.

Empfohlenes Lernen:

php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen den Verschlüsselungsmethoden DES, ECB und CBC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen