Stromchiffren / Stream-Cipher

Eine Stromchiffre ist ein Verschlüsselungsverfahren und zählt zur symmetrischen Kryptografie. Bei Stromchiffren bzw. Stream-Cipher werden die Daten am Stück verschlüsselt. Diese Art und Weise der Verschlüsselung kommt aber nicht so häufig vor. Viel häufiger werden Blockchiffren bei der symmetrischen Verschlüsselung verwendet.

Stromchiffren sind weniger gut untersucht wie Blockchiffren. Das liegt unter anderem daran, weil in den Krypto-Standards DES und AES Blockchiffren bevorzugt zum Einsatz kommen. Das hat dazu geführt, dass man Stromchiffren vernachlässigt hat.
Lange Zeit hatten Stromchiffren einen Geschwindigkeitsvorteil. Doch das gilt inzwischen nicht mehr. Auch Blockchiffren können ressourcenschonend und schnell sein.

Funktionsweise einer Stromchiffre

Startwert -> Fortschaltfunktion -> Keystream (Zufallsfolge): Klartext -> Geheimtext

Die Funktionsweise einer Stromchiffre ähnelt der einer kryptografischen Hash-Funktion. Im Prinzip wird eine Zufallsfolge generiert und mit dem Klartext exklusiv-oder-verknüpft (logische XOR-Funktion).

Die Zufallsfolge wird als Keystream bezeichnet, der aus einem Startwert aus der Fortschaltfunktion generiert wird. Dazu muss der Startwert initialisiert werden. Der Startwert kann geheim sein muss aber nicht. Ein bekannter, nicht geheimer Startwert wird als Initialisierungsvektor (IV) bezeichnet. Der muss in einer schlüsselabhängigen Fortschaltfunktion verwendet werden, weil ein Angreifer den Startwert und die Funktionsweise der Fortschaltfunktion herausbekommen kann.
Bei einer schlüsselabhängigen Fortschaltfunktion ergibt sich der Vorteil, dass der Sender den Initialisierungsvektor unverschlüsselt zusammen mit dem Geheimtext an den Empfänger schicken kann. Sender und Empfänger müssen nur sicherstellen, dass sie bei jeder Verschlüsselung eine andere Zufallsfolge verwenden. Beispielsweise eine Zufallszahl oder einen Zähler.

Eine einfache Stromchiffre wäre, wenn man eine Zufallsfolge durch einen Pseudozufallsgenerator erzeugen lässt und anschließend den Klartext mit der Zufallsfolge bitweise exklusiv-oder verknüpft. Dadurch entsteht der Geheimtext. Der Empfänger kann den Geheimtext mit der gleichen Zufallsfolge und dem Geheimtext exklusiv-oder-verknüpfen und bekommt den Klartext wieder.
Natürlich ist die Komplexität moderner Stromchiffren wesentlich größer.

Vorteile von Stromchiffren

Stromchiffren haben zwei grundsätzliche Vorteile. Der eine Vorteil ist, dass der Keystream vorausberechnet und zwischengespeichert werden kann, was die Geschwindigkeit erhöht. Der zweite Vorteil ist, dass bei einem Bitfehler im Geheimtext nur ein Bit im Klartext defekt ist.

Nachteile von Stromchiffren

Der Aufwand für die Initialisierung ist recht hoch. Deshalb stellt sich nur bei längeren Klartexten eine hohe Geschwindigkeit ein.
Außerdem lässt sich ein beliebiger Teil eines Geheimtextes nicht einzeln entschlüsseln. Es muss immer der vollständige Geheimtext entschlüsselt werden.
Besonders wichtig ist, dass ein Keystream auf keinen Fall mehrfach verwendet werden darf. Wenn doch, dann wäre die Verschlüsselung gegen einen Cyphertext-Only-Angriff anfällig. Dazu reicht es, zwei Geheimtexte, die mit dem selben Keystream erzeugt wurden, miteinander exklusiv-oder-zuverknüpfen. Das Ergebnis ist eine Exklusiv-Oder-Verknüpfung beider Klartexte, was für eine erfolgreiche Kryptoanalyse ausreichen würde.
Eine denkbar einfache Manipulation des Geheimtextes wäre, wenn der Angreifer ein Bit im Geheimtext ändert, was zur Folge hat, dass sich das selbe Bit im Klartext ändert. Wenn der Angreifer Teile des Klartextes kennt, dann kann er diesen gezielt manipulieren.

Betriebsarten

Stromchiffren erlauben mehrere Betriebsarten, wobei hauptsächlich der OFB-Modus oder eine Abwandlung davon einsetzen.
Die meisten Stromchiffren können nicht mit dem Counter-Modus (CTR) betrieben werden.

Angriffe auf Stromchiffren

Ein Angriff auf eine Stromchiffre basiert darauf, dass der Angreifer einen Teil des Keystreams kennt. Er versucht aus diesem den Schlüssel oder die anderen Teile des Keystreams zu ermitteln. Eine gute Stromchiffre lässt das aber nicht zu.
Alternativ kann ein Angreifer die differenzielle oder lineare Kryptoanalyse anwenden.

A5

A5 ist eine Stromchiffre, die Mitte der 1980er Jahre für GSM entwickelt wurde (ETSI). Noch heute wird A5 weltweit als Verschlüsselungsverfahren in GSM-Mobilfunknetzen eingesetzt, um die Funkübertragung vom Mobilgerät zur nächsten Basisstation zu verschlüsseln. Anfangs blieb die Funktionsweise geheim. Heute ist die Arbeitsweise von A5 bekannt.
A5 ist einfach gehalten und vor allem in Hardware schnell. Allerdings entspricht A5 nicht den Anforderungen an ein modernes kryptografisches Verfahren, wie zum Beispiel AES. So wurden bestimmte Teile der Verschlüsselung nicht optimal gewählt. Was den Verdacht nahelegt, dass die Entwickler durchaus wussten, was sie taten und bewusst einen knackbaren Algorithmus entwickeln wollten. Vermutlich um das Abhören für Polizei und Geheimdienste einfacher zu machen.
So gibt es eine Methode, um den Schlüssel durch einen Known-Plaintext-Angriff mit einem normalen PC innerhalb einer Sekunde zu berechnen.

E0

E0 ist eine Stromchiffre, die speziell für Bluetooth entwickelt wurde und auch heute noch eingesetzt wird. Wie andere Stromchiffren auch arbeitet E0 schnell und energiesparend und erlaubt die kostengünstige Implementierung in Hardware.
Über die Sicherheit von E0 sind sich Experten unsicher. Allerdings sind die bekannten Schwächen nicht praxisrelevant. Der Aufwand scheint zu groß zu sein. Wobei das nichts heißen mag. Es könnte kritisch für die Sicherheit von Bluetooth-Verbindungen werden, wenn die bekannten Angriffe in Zukunft verbessert werden.

Crypto1

Crypto1 ist eine Stromchiffre, die in den Mifare-Chips von NXP (ehemals Philips) eingesetzt wird. Allerdings gibt es hier verschiedene Varianten, die nicht alle Crypto1 implementiert haben. Die Mifare-Chips werden typischerweise in kontaktlosen Smartcards verwendet. Beispielsweise im öffentlichen Nahverkehr und beim bargeldlosen Bezahlen.
Entwickelt wurde Crypto1 Anfang der 1990er Jahre, wobei keine Kryptografen beteiligt waren. Weil die Spezifikation von Crypto1 geheim blieb fiel es viele Jahre nicht auf, dass die Mifare-Chips mit Crypto1 gar nicht sicher waren. Erst im Jahr 2007 wurde nach einer Hardware-Analyse die Funktionsweise rekonstruiert.
Unabhängig von den bekannt gewordenen Schwächen, arbeitet Crypto1 mit einer Schlüssellänge von nur 48 Bit, was für eine vollständige Schlüsselsuche kein Problem darstellt. Mit einem normalen PC dauert das 9 Stunden. Viel schneller geht es mit einem anderen Angriff, mit dem man den Schlüssel innerhalb von 200 Sekunden ermitteln kann.
Vom Einsatz von Crypto1 kann man nur abraten.

Wie sicher ist eine Stromchiffre?

Der Stand der Entwicklung von Stromchiffren entspricht noch lange nicht der von Blockchiffren. Es gibt zwar ein paar vielversprechende Verfahren, die allerdings nicht gut genug untersucht sind. Das liegt aber auch daran, weil Stromchiffren generell nicht so hoch im Fokus stehen. Daher ist die Auswahl an empfehlenswerten Stromchiffren gering. Insbesondere für Hochsicherheitsanwendungen gibt es keine Stromchiffre, die man empfehlen kann. Die meisten Verschlüsselungsverfahren arbeiten mit Blockchiffren.