Empfohlen, 2024

Tipp Der Redaktion

Unterschied zwischen Blockverschlüsselung und Stromverschlüsselung

Blockchiffre und Stromchiffre sind die Methoden, mit denen der Klartext direkt in Chiffretext umgewandelt wird und zur Familie der symmetrischen Schlüsselchiffren gehört.

Der Hauptunterschied zwischen einer Blockverschlüsselung und einer Stromverschlüsselung besteht darin, dass die Blockverschlüsselung jeweils einen Block des Textes verschlüsselt und entschlüsselt. Auf der anderen Seite verschlüsselt und entschlüsselt die Stream-Chiffrierung den Text, indem er jeweils ein Byte des Textes nimmt.

Vergleichstabelle

Basis zum VergleichBlockchiffreStream Chiffre
Basic
Wandelt den Klartext um, indem der Block zu einem Zeitpunkt genommen wird.
Wandelt den Text um, indem jeweils ein Byte des Klartextes verwendet wird.
Komplexität
Einfaches Design
Vergleichsweise komplex
Keine der verwendeten Bits
64 Bits oder mehr
8 Bits
Verwirrung und Diffusion
Verwendet sowohl Verwirrung als auch DiffusionVerlässt sich nur auf Verwirrung
Verwendete Algorithmusmodi
EZB (Electronic Code Book)
CBC (Cipher Block Chaining)
CFB (Cipher Feedback)
OFB (Ausgangsfeedback)
Reversibilität
Das Umkehren von verschlüsseltem Text ist schwer.
Es verwendet XOR für die Verschlüsselung, die leicht in den Klartext umgewandelt werden kann.
Implementierung
Feistel-Chiffre
Vernam-Chiffre

Definition der Blockchiffre

Block Cipher nimmt eine Nachricht und zerlegt sie in eine feste Größe von Blöcken und konvertiert sofort einen Block der Nachricht. Beispielsweise haben wir eine Nachricht im Klartext "STREET_BY_STREET", die verschlüsselt werden muss. Bei Verwendung der Bock-Verschlüsselung muss zuerst "STREET" verschlüsselt werden, gefolgt von "_BY_" und zuletzt "STREET".
In der Praxis findet die Kommunikation nur in Bits statt. STREET bedeutet also eigentlich das binäre Äquivalent des ASCII-Zeichens von STREET. Anschließend verschlüsselt ein beliebiger Algorithmus diese; Die resultierenden Bits werden wieder in ihre ASCII-Entsprechung umgewandelt.

Ein offensichtliches Problem bei der Verwendung von Block-Chiffren besteht in der Wiederholung von Text, für den die gleiche Chiffre generiert wird. Daher würde es dem Kryptoanalytiker einen Hinweis geben, der es einfacher macht, die wiederkehrenden Zeichenketten aus reinem Text herauszufinden. Dadurch kann die gesamte Nachricht angezeigt werden.

Um dieses Problem zu umgehen, wird der Verkettungsmodus verwendet. Bei dieser Technik wird der vorhergehende Block des Chiffretextes mit dem aktuellen Block gemischt, so dass der Chiffretext vage ist. Dadurch werden wiederkehrende Muster von Blöcken mit demselben Inhalt vermieden.

Definition von Stream Cipher

Stream Cipher verschlüsselt zu diesem Zeitpunkt normalerweise ein Byte der Nachricht, anstatt Blöcke zu verwenden. Nehmen wir ein Beispiel: Angenommen, die Originalnachricht (Nur-Text) ist in ASCII „blauer Himmel“ (dh Textformat). Wenn Sie diese ASCII-Werte in äquivalente Binärwerte konvertieren, wird die Ausgabe in Form von 0 und 1 ausgegeben. Lassen Sie es in 010111001 übersetzt werden.

Zur Ver- und Entschlüsselung wird ein Pseudo-Zufalls-Bit-Generator verwendet, in den ein Schlüssel und Klartext geladen wird. Ein Pseudozufalls-Bitgenerator erzeugt einen Strom von 8-Bit-Zahlen, die scheinbar zufällig als Keystream bekannt sind . Der Eingabeschlüssel sei 100101011. Jetzt sind Schlüssel und Klartext XOR-verknüpft. Die XOR-Logik ist einfach zu verstehen.
XOR erzeugt einen Ausgang von 1, wenn ein Eingang 0 und der andere 1 ist. Der Ausgang ist 0, wenn entweder beide Eingänge 0 oder beide Eingänge 1 sind.

Verwirrung ist eine Methode, die garantiert, dass ein Chiffretext keinen Hinweis auf den ursprünglichen Klartext gibt.
Diffusion ist eine Strategie, mit der die Redundanz des Klartextes verbessert wird, indem er auf Zeilen und Spalten verteilt wird.

Hauptunterschiede zwischen Blockchiffre und Streamchiffre

  1. Die Blockverschlüsselungstechnik beinhaltet die Verschlüsselung eines Textblocks zu einem Zeitpunkt, dh einzeln. Entschlüsseln Sie den Text, indem Sie einen Block nach dem anderen machen. Im Gegensatz dazu beinhaltet die Stream-Verschlüsselungstechnik die Verschlüsselung und Entschlüsselung von jeweils einem Byte des Texts.
  2. Die Blockverschlüsselung verwendet sowohl Verwirrung als auch Diffusion, während die Stromverschlüsselung nur auf Verwirrung beruht.
  3. Die übliche Größe des Blocks kann 64 oder 128 Bit in der Blockchiffre betragen. Im Gegensatz dazu wird jeweils 1 Byte (8 Bit) in der Stream-Verschlüsselung konvertiert.
  4. Die Blockverschlüsselung verwendet die Algorithmen ECB (Electronic Code Book) und CBC (Cipher Block Chaining) . Im Gegensatz dazu verwendet die Stream-Verschlüsselung die CFB-Algorithmen (Cipher Feedback) und OFB (Output Feedback) .
  5. Die Stream-Verschlüsselung verwendet die XOR-Funktion zum Konvertieren des Klartextes in einen Chiffretext. Daher können die XOR-Bits leicht umgekehrt werden. Während der Blockverschlüsselung XOR dafür nicht verwendet.
  6. Die Blockverschlüsselung verwendet den gleichen Schlüssel zum Verschlüsseln jedes Blocks, während die Stromverschlüsselung für jedes Byte einen anderen Schlüssel verwendet.

Fazit:

Block Cipher und Stream Cipher unterscheiden sich in der Art und Weise, in der Klartext verschlüsselt und entschlüsselt wird. Die Idee der Blockverschlüsselung besteht darin, den Klartext in Blöcke aufzuteilen, die diese Blöcke weiter verschlüsseln. Bei der Stream-Verschlüsselung wird Klartext bitweise umwandelt, ähnlich wie bei stream.

Top