Unterschied zwischen Stromchiffre und Blockchiffre

Unterschied zwischen Stromchiffre und Blockchiffre
Unterschied zwischen Stromchiffre und Blockchiffre

Video: Unterschied zwischen Stromchiffre und Blockchiffre

Video: Unterschied zwischen Stromchiffre und Blockchiffre
Video: Kryptographie #16 - Blockchiffren und 2 von 4 Betriebsmodi 2024, November
Anonim

Stream-Chiffre vs. Block-Chiffre | 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. Typischerweise nimmt eine Chiffre einen Klartext als Eingabe und erzeugt einen Chiffretext als Ausgabe. Blockchiffren verschlüsseln Bitblöcke mit fester Länge unter Verwendung einer unveränderlichen Transformation. Stream-Chiffren verschlüsseln Bitströme mit unterschiedlicher Länge und verwenden unterschiedliche Transformationen für jedes Bit.

Was ist eine Stromchiffre?

Stromchiffren gehören zur Familie der symmetrischen Schlüsselchiffren. Stream-Chiffren kombinieren Klartext-Bits mit einem Pseudozufalls-Cipher-Bit-Stream unter Verwendung von XOR-Operationen (Exklusiv-Oder). Stream-Chiffren verschlüsseln Klartextziffern einzeln mit unterschiedlichen Transformationen für aufeinanderfolgende Ziffern. Da die Verschlüsselung jeder Ziffer vom aktuellen Zustand der Cipher Engine abhängt, werden Stream-Chiffren auch als Zustands-Chiffren bezeichnet. Typischerweise werden einzelne Bits/Bites als einzelne Ziffern verwendet. Um Sicherheitsbedenken zu vermeiden, sollte darauf geachtet werden, dass derselbe Ausgangszustand 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 mit Blöcken (Bitgruppen) mit fester Länge. Blockchiffren verwenden eine feste (unveränderliche) Transformation für alle Ziffern im Block. Wenn beispielsweise ein x-Bit-Block-Klartext (zusammen mit einem geheimen Schlüssel) als Eingabe für die Blockverschlüsselungsmaschine bereitgestellt wird, erzeugt sie den entsprechenden x-Bit-Block mit verschlüsseltem Text. Die eigentliche Transformation ist abhängig vom geheimen Schlüssel. In ähnlicher Weise stellt der Entschlüsselungsalgorithmus den ursprünglichen x-Bit-Klartextblock unter Verwendung des x-Bit-Chiffretextblocks 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 zerlegt und diese Blöcke werden (einzeln) mit demselben Schlüssel verschlüsselt. Da jedoch der gleiche Schlüssel verwendet wird, wird jede wiederholte Sequenz im Klartext zur gleichen wiederholten Sequenz im Chiffretext, und dies könnte Sicherheitsbedenken verursachen. Gängige Blockchiffren sind DES (Data Encryption Standard) und AES (Advanced Encryption Standard).

Was ist der Unterschied zwischen einer Stromchiffre und einer Blockchiffre?

Obwohl sowohl Stromchiffren als auch Blockchiffren zur Familie der symmetrischen Chiffren gehören, gibt es einige wesentliche Unterschiede. Blockchiffren verschlüsseln Bitblöcke mit fester Länge, während Stromchiffren Klartextbits mit einem pseudozufälligen Chiffrierbitstrom unter Verwendung einer XOR-Operation kombinieren. Obwohl Blockchiffren dieselbe Transformation verwenden, verwenden Stream-Chiffren je nach Zustand der Engine unterschiedliche Transformationen. Stromchiffren werden normalerweise schneller ausgeführt als Blockchiffren. In Bezug auf die Hardwarekomplexität sind Stream-Chiffren relativ weniger komplex. Stromchiffren sind die typische Präferenz gegenüber Blockchiffren, wenn der Klartext in unterschiedlichen Mengen verfügbar ist (z. B. für eine sichere WLAN-Verbindung), da Blockchiffren nicht direkt auf Blöcken arbeiten können, die kürzer als die Blockgröße sind. Aber manchmal ist der Unterschied zwischen Stromchiffren und Blockchiffren nicht sehr klar. Der Grund dafür ist, dass bei Verwendung bestimmter Betriebsmodi eine Blockchiffre verwendet werden kann, um als Stromchiffre zu fungieren, indem es ihr ermöglicht wird, die kleinste verfügbare Dateneinheit zu verschlüsseln.

Empfohlen: