Was ist eine Stream-Chiffre?
Eine Stream-Verschlüsselung ist eine Art Algorithmus, der bei der Datenverschlüsselung verwendet wird, bei der die zu verschlüsselnde Quelle anhand einer zufällig erscheinenden Schlüsselsequenz verarbeitet wird. Diese Art der Verschlüsselung ist in dem Sinne etwas flexibel, dass sie die Verschlüsselung während der Textverarbeitung variieren kann. Sie werden manchmal auch als Statusverschlüsselung bezeichnet, da die Verschlüsselung auch vom aktuellen Status der Operation abhängt. Im Gegensatz zu Block-Chiffren, die 64-Bit-Datenblöcke gleichzeitig verarbeiten, kann eine Stream-Chiffrierung ein einzelnes Bit verarbeiten. Aus diesem Grund kann ein Stream mit sehr geringer Verarbeitungsleistung mit hoher Geschwindigkeit verarbeitet werden.
Die erste Stream-Chiffre wurde 1917 von Gilbert Vernam entwickelt. Später half Vernam auch dabei, eine Chiffre zu erstellen, die als One-Time-Pad bezeichnet wird. Dabei handelt es sich um eine Form der Stream-Chiffre, bei der die Daten mit einem einmaligen Schlüssel verschlüsselt werden. In einem One-Time-Pad hat der generierte Schlüssel dieselbe Länge wie die zu verschlüsselnden Daten, ist völlig zufällig und wird nirgendwo anders mehr verwendet, daher der Name.
Bei der Verarbeitung anhand der zu verschlüsselnden Daten, die normalerweise als Klartext bezeichnet werden, kann der resultierende Chiffretext ohne den Schlüssel nicht entschlüsselt werden. Das One-Time-Pad ist in den meisten Szenarien schwer zu handhaben und wird daher nur für sehr exklusive Situationen verwendet. Trotzdem wird eine Stream-Chiffre normalerweise als nützlich angesehen, sodass die Schlüssel gekürzt und pseudozufällig gemacht wurden, was bedeutet, dass sie statistisch zufällig sind, in Wirklichkeit jedoch nicht.
Stream-Chiffre kann im laufenden Betrieb verschlüsselt werden. Auf diese Weise ist es sogar einfach, einfache Stream-Chiffrierungen von Personen auf Stift und Papier auszuführen, während für die Verarbeitung einer Blockchiffrierung in der Regel ein Computer erforderlich ist. Der Klartext durchläuft den Verschlüsselungsprozess zusammen mit dem Schlüsselstrom, der Pseudozufallssequenz, aus der der Schlüssel besteht. Dort wird er konvertiert und am anderen Ende als Chiffretext ausgegeben.
Normalerweise erfolgt diese Verschlüsselung über eine Exklusiv- oder (XOR) -Operation für die einzelnen Bits, wenn sie die Verschlüsselung durchlaufen. Eine einfache XOR-Chiffre verwendet eine Art logische Disjunktion als Basis, die im Wesentlichen besagt, dass das Ergebnis wahr sein kann, wenn einer der Operanden wahr ist, aber nicht beide. Wenn beispielsweise ein Bit, das sich durch den Verschlüsselungsprozess bewegt, eine Null oder eine Eins ist und das gepaarte Schlüsselstrombit nicht übereinstimmt, ist die resultierende Ausgabe eine Eins. Wenn das Bit und das gepaarte Schlüsselstrombit übereinstimmen, wobei beide eine Eins oder beide eine Null sind, ist das Ergebnis eine Null. Der verschlüsselte Strom von Einsen und Nullen wird dann am anderen Ende der Übertragung unter Verwendung desselben Schlüsselstroms entschlüsselt, um die Bits wieder in ihren ursprünglichen Klartext umzuwandeln.
Es gibt zwei Arten von Stream-Chiffren. Unter Verwendung einer synchronen Methode wird der Schlüsselstrom getrennt vom Klartext oder dem Chiffretext erstellt und dann zusammengeführt, um die Verschlüsselung oder Entschlüsselung bereitzustellen. Bei dieser Methode müssen sowohl das sendende als auch das empfangende Ende der Übertragung synchronisiert bleiben, wenn sie mit demselben Schlüssel und derselben Position im Schlüssel arbeiten. Sollte ein Problem auftreten, muss die Entschlüsselung entweder von vorne beginnen, oder es werden zeitweise Flags im gesamten Chiffretext platziert, die auf neue Startpunkte hinweisen. Andererseits aktualisiert eine selbstsynchronisierende Verschlüsselung den Schlüsselstrom auf der Grundlage einiger vorheriger Ziffern im Chiffretext.
Eine der am häufigsten verwendeten Stream-Verschlüsselungen, RC4, wurde von RSA Data Security® erstellt. Es ist für eine Reihe von Softwareprodukten lizenziert und wird in diesen verwendet, ebenso wie für das SSL-Protokoll (Secure Socket Layer), das für die sichere Internetkommunikation verwendet wird, und für die WEP-Verschlüsselung (Wired Equivalent Privacy), die für drahtlose Geräte verwendet wird. Eine andere häufig verwendete Verschlüsselung ist ORYX, die bei Datenübertragungen über Mobiltelefone Verwendung findet, die verschlüsselt werden müssen. IBM® hat auch eine Stream-Verschlüsselungsmethode namens SEAL entwickelt, die bei der Festplattenverschlüsselung Verwendung findet.