10 Unterschied zwischen Blockchiffre und Streamchiffre

Lernen Sie den Unterschied zwischen Blockchiffre und Streamchiffre kennen. Die Vergleichsgrundlagen umfassen: Beschreibung, Schlüsselverwendung, Integrität, XOR-Funktion, Klartextverschlüsselung, Geschwindigkeit, Implementierung und Algorithmus-Modi.

Was ist eine Chiffre?

Eine Chiffre ist eine Methode zum Verbergen von Wörtern oder Text mit Verschlüsselung, indem Originalbuchstaben durch andere Buchstaben, Zahlen und Symbole entweder durch Ersetzen oder Transponieren ersetzt werden. Eine Chiffre ermöglicht häufig eine private Kommunikation und wird häufig in E-Mails verwendet, sodass eine verschlüsselte Nachricht, die von einem nicht autorisierten Benutzer abgefangen wird, nicht gelesen werden kann.

Es gibt eine Reihe von Verschlüsselungstypen, zwei typische Beispiele sind jedoch:

  • Baconian: Dies verbirgt eine Nachricht in einer anderen Nachricht mit verschiedenen Schriftarten, Schriftarten oder Eigenschaften.
  • Atbash: Der Buchstabe A wird in Z geändert. B wird in Y geändert, D wird in Q geändert, E wird in W geändert, F wird in P geändert und so weiter.

Stream Chiffre

Eine Stromchiffre ist eine symmetrische Schlüsselchiffre (Verschlüsselungsverfahren), bei der Klartextziffern mit einem pseudozufälligen Chiffrierziffernstrom kombiniert werden. Eine Stromchiffre verschlüsselt Klartext mit einem Schlüssel und einem Algorithmus, der auf jede Binärziffer (Eins und Nullen) für jedes Bit im Datenstrom angewendet wird. Die pseudozufälligen Chiffrierziffern werden durch eine Anzahl von Zufallsstartwerten erzeugt, die Ziffernschieberegister verwenden.

In einer Stromchiffre wird Text in kleine Blöcke unterteilt, die ein Bit oder ein Byte lang sind, und jeder Block wird abhängig von vielen vorherigen Blöcken codiert.

Arten von Stromchiffren

  1. Synchrone Stromchiffren: Eine synchrone Stromchiffre generiert einen Schlüsselstrom basierend auf internen Zuständen, die sich nicht auf den Klartext oder den Geheimtext beziehen. Verschlüsselung und Entschlüsselung erfordern, dass sich die synchrone Statuschiffre im gleichen Zustand befindet, andernfalls kann die Nachricht nicht entschlüsselt werden.
  2. Selbstsynchronisierende Stromverschlüsselungen : Eine selbstsynchronisierende Stromverschlüsselung, auch bekannt als asynchrone Stromverschlüsselung oder Ciphertext Autokey (CTAK), ist eine Stromverschlüsselung, die die vorherigen N Ziffern verwendet, um den für die nächsten N Zeichen verwendeten Schlüsselstrom zu berechnen .

Blockchiffre

Eine Blockchiffre ist eine Verschlüsselungsmethode, die einen deterministischen Algorithmus zusammen mit einem symmetrischen Schlüssel anwendet, um einen Textblock zu verschlüsseln, anstatt wie bei Streamchiffren jeweils ein Bit zu verschlüsseln. Bei der Blockchiffre wird Text in relativ große Blöcke unterteilt, typischerweise 64 oder 128 Byte lang, und jeder Block wird separat codiert. Während der Verschlüsselung wird Klartext verwendet und der resultierende verschlüsselte Text wird als Chiffretext bezeichnet.

Der Blockchiffrieralgorithmus ist insofern symmetrisch, als er während der Verschlüsselung den gemeinsamen Schlüssel verwendet, um seine Klartexteingabe in einen Geheimtext (verschlüsselten Text) umzuwandeln. Während der Entschlüsselung verwendet es denselben Schlüssel, um den Chiffretext wieder in den ursprünglichen Klartext umzuwandeln. Die Länge der Ausgabe ist dieselbe wie die der Eingabe.  

Hauptunterschied

  • Eine Stromchiffre ist eine symmetrische Schlüsselchiffre (Verschlüsselungsverfahren), bei der Klartextziffern mit einem pseudozufälligen Chiffrierziffernstrom kombiniert werden. Andererseits ist eine Blockchiffre ein Verschlüsselungsverfahren, das einen deterministischen Algorithmus zusammen mit einem symmetrischen Schlüssel anwendet, um einen Textblock zu verschlüsseln.
  • Die Stromchiffre verwendet für jedes Byte einen anderen Schlüssel, wohingegen; Blockchiffre verwendet denselben Schlüssel, um jeden Block zu verschlüsseln.
  • Die Stream-Chiffre verwendet die XOR-Funktion zum Konvertieren des Klartextes in Chiffretext, weshalb es einfach ist, die XOR-verknüpften Bits umzukehren. Im Gegensatz dazu verwenden Blockchiffren keine XOR-Funktion.
  • Stromchiffre verwendet Verwirrung, um Klartext zu verschlüsseln, während Blockchiffren sowohl Verwirrung als auch Diffusion verwenden, um Klartext in Geheimtext zu verschlüsseln.
  • In der Stromchiffre wird jeweils 1 Byte (8 Bit) umgewandelt, dies macht den Prozess schneller, während bei Blockchiffren die normale Größe des Blocks in der Blockchiffre 64 oder 128 Bit betragen kann und dies macht die Blockchiffre langsamer als Stream Chiffre.
  • Die Stromchiffre verwendet die Algorithmusmodi CFB (Cipher Feedback) und OFB (Output Feedback). Andererseits verwendet die Blockchiffre die Algorithmusmodi ECB (Electronic Code Book) und CBC (Cipher Block Chaining).
  • Stream-Chiffren benötigen keinen großen Speicher, da sie nur mit kleinen Bits gleichzeitig arbeiten, im Gegensatz zu Blockchiffren, die einen relativ großen Speicher benötigen, weil sie mit einem großen Datenblock arbeiten.
  • Stromchiffren bieten keinen Integritätsschutz oder keine Authentifizierung. Im Gegenteil, einige Blockchiffren (je nach Modus) können neben der Vertraulichkeit auch Integritätsschutz bieten.
  • Stromchiffren sind schwieriger korrekt zu implementieren und weisen je nach Verwendung Schwachstellen auf. Blockchiffren hingegen sind relativ einfach zu implementieren.

Lesen Sie auch: Unterschied zwischen monoalphabetischer und polyalphabetischer Chiffre

Unterschied zwischen Blockchiffre und Streamchiffre in Tabellenform

VERGLEICHSGRUNDLAGESTREAM CHIFFREBLOCKCHIFFERE  
BeschreibungEine Stromchiffre ist eine symmetrische Schlüsselchiffre (Verschlüsselungsverfahren), bei der Klartextziffern mit einem pseudozufälligen Chiffrierziffernstrom kombiniert werden.Eine Blockchiffre ist eine Verschlüsselungsmethode, die einen deterministischen Algorithmus zusammen mit einem symmetrischen Schlüssel anwendet, um einen Textblock zu verschlüsseln.  
SchlüsselverwendungStream Cipher verwendet für jedes Byte einen anderen Schlüssel.Blockchiffre verwendet denselben Schlüssel, um jeden Block zu verschlüsseln.  
IntegritätStromchiffren bieten keinen Integritätsschutz oder keine Authentifizierung.Einige Blockchiffren (je nach Modus) können neben der Vertraulichkeit auch Integritätsschutz bieten.
XOR-FunktionDie Stream-Chiffre verwendet die XOR-Funktion zum Konvertieren des Klartextes in Chiffretext, weshalb es einfach ist, die XOR-verknüpften Bits umzukehren.Blockchiffre verwendet keine XOR-Funktion.
KlartextverschlüsselungDie Stromchiffre verwendet Verwirrung, um Klartext zu verschlüsseln.Blockchiffren verwenden sowohl Verwirrung als auch Diffusion, um Klartext in Geheimtext zu verschlüsseln.  
GeschwindigkeitIn der Stromchiffre wird jeweils 1 Byte (8 Bit) umgewandelt, dies beschleunigt den Prozess.Blockchiffren, die normale Größe des Blocks könnte 64 oder 128 Bits in der Blockchiffre betragen, und dies macht die Blockchiffre langsamer als die Stromchiffre.
ImplementierungStromchiffren sind schwieriger korrekt zu implementieren und weisen je nach Verwendung Schwachstellen auf.Relativ einfach zu implementieren.
Algorithmus-ModiDie Stromchiffre verwendet CFB (Cipher Feedback) und OFB (Output Feedback).Blockchiffre verwendet ECB (Electronic Code Book) und CBC (Cipher Block Chaining).

Lesen Sie auch : Unterschied zwischen linearer und differentieller Kryptoanalyse

Vorteile der Stream-Chiffre gegenüber der Blockchiffre

  1. Streamchiffren sind in der Regel schneller als Blockchiffren und eignen sich gut für große oder kleine Datenmengen.
  2. Stream-Chiffren benötigen keinen großen Speicher, da sie nur mit kleinen Bits gleichzeitig arbeiten, im Gegensatz zu Blockchiffren, die einen relativ großen Speicher benötigen, weil sie mit einem großen Datenblock arbeiten.
  3. Stream-Chiffre-Bytes werden einzeln ohne Verbindung zu anderen Datenblöcken verschlüsselt, während Blockchiffren jeweils einen ganzen Block verschlüsseln.
  4. Stream-Chiffren sind normalerweise am besten für Fälle geeignet, in denen die Datenmenge entweder unbekannt oder kontinuierlich ist, wie z.