Unterschied zwischen Stream Chiffre und Block Chiffre

Anonim

Stromchiffre vs. Blockchiffre | State Cipher vs. Block Cipher

In der Kryptographie sind Stream Chiffren und Block Chiffren zwei Verschlüsselungs- / Entschlüsselungsalgorithmen, die zur Familie der symmetrischen Schlüsselchiffren gehören. Normalerweise nimmt eine Chiffre einen Klartext als Eingabe und erzeugt einen Chiffretext als Ausgabe. Block-Chiffren verschlüsseln Block-Bits fester Länge unter Verwendung einer unveränderlichen Transformation. Stream-Chiffren verschlüsseln Ströme von Bits mit unterschiedlicher Länge und verwenden unterschiedliche Transformationen für jedes Bit.

Was ist eine Stromziffer?

Stream-Chiffren gehören zur Familie der symmetrischen Schlüsselchiffren. Stream-Chiffren kombinieren Klartext-Bits mit einem pseudozufälligen Chiffrier-Bit-Stream unter Verwendung von XOR (Exklusiv-ODER) -Operation. Stream-Chiffren verschlüsseln Klartext-Ziffern einzeln mit unterschiedlichen Transformationen für aufeinanderfolgende Ziffern. Da die Verschlüsselung jeder Ziffer vom aktuellen Zustand der Chiffre-Engine abhängt, werden Stromchiffren auch als Chiffrierschlüssel bezeichnet. In der Regel werden einzelne Bits / Bisse als einzelne Ziffern verwendet. Um Sicherheitsbedenken zu vermeiden, sollte darauf geachtet werden, dass der gleiche Startstatus nicht mehr als einmal verwendet wird. Die am weitesten verbreitete Stromchiffre ist RC4.

Was ist eine Blockchiffre?

Eine Blockchiffre ist eine weitere symmetrische Schlüsselchiffre. Blockchiffren arbeiten auf Blöcken (Gruppen von Bits) mit fester Länge. Blockchiffren verwenden eine feste (unveränderliche) Transformation für alle Ziffern im Block. Wenn zum Beispiel ein x-Bit-Block-Klartext (zusammen mit einem geheimen Schlüssel) als Eingabe für die Blockchiffriermaschine bereitgestellt wird, erzeugt er den entsprechenden x-Bit-Block des verschlüsselten Texts. Die tatsächliche Transformation ist abhängig vom geheimen Schlüssel. In ähnlicher Weise stellt der Entschlüsselungsalgorithmus den ursprünglichen x-Bit-Block des Klartextes unter Verwendung des x-Bit-Blocks des verschlüsselten Textes und des obigen geheimen Schlüssels als Eingabe wieder her. Falls die Eingangsnachricht im Vergleich zur Größe des Blocks zu lang ist, wird sie in Blöcke unterteilt und diese Blöcke werden mit dem gleichen Schlüssel (einzeln) verschlüsselt. Da jedoch derselbe Schlüssel verwendet wird, wird jede wiederholte Sequenz im Klartext dieselbe wiederholte Sequenz im Chiffretext, was Sicherheitsbedenken verursachen kann. Beliebte Blockchiffren sind DES (Data Encryption Standard) und AES (Advanced Encryption Standard).

Was ist der Unterschied zwischen einer Stream Chiffre und einer Block Chiffre?

Obwohl sowohl Stream-Chiffren als auch Block-Chiffren zur Familie der symmetrischen Verschlüsselungs-Chiffren gehören, gibt es einige wichtige Unterschiede. Block-Chiffren verschlüsseln Block-Bits fester Länge, während Stream-Chiffren Klartext-Bits mit einem pseudozufälligen Chiffrier-Bit-Stream unter Verwendung der XOR-Operation kombinieren. Obwohl Blockchiffren dieselbe Transformation verwenden, verwenden Stromchiffren aufgrund des Zustands der Engine unterschiedliche Transformationen.Stream-Chiffren werden normalerweise schneller ausgeführt als Blockchiffren. In Bezug auf die Hardwarekomplexität sind Stromchiffren relativ weniger komplex. Stream-Chiffren sind die typische Vorliebe gegenüber Blockchiffren, wenn der Klartext in unterschiedlichen Mengen verfügbar ist (zum Beispiel eine sichere WiFi-Verbindung), weil Blockchiffren nicht direkt auf Blöcken arbeiten können, die kürzer sind als die Blockgröße. Aber manchmal ist der Unterschied zwischen Stromchiffren und Blockchiffren nicht sehr klar. Der Grund ist, dass bei Verwendung bestimmter Betriebsmodi eine Blockchiffre verwendet werden kann, um als eine Stromchiffre zu wirken, indem sie es erlaubt, die kleinste Dateneinheit zu verschlüsseln, die verfügbar ist.