Stromverschlüsselung

aus Wikipedia, der freien Enzyklopädie

Eine Stromverschlüsselung, Stromchiffre oder Flusschiffre (englisch stream cipher) ist ein kryptographischer Algorithmus zur symmetrischen Verschlüsselung, bei dem Zeichen des Klartextes mit den Zeichen eines Schlüsselstroms einzeln (XOR bei Bits) verknüpft werden. Der Schlüsselstrom ist normalerweise eine pseudozufällige Zeichenfolge, die aus dem Schlüssel abgeleitet wird.[1] Bei selbstsynchronisierenden Stromchiffren gehen außer dem Schlüssel auch Teile der Nachricht in die Berechnung des Schlüsselstroms ein.

LFSR-Stromverschlüsselung A5/1 wie sie im Mobilfunkstandard GSM verwendet wird

Anwendung

Eine Stromverschlüsselung ist im Gegensatz zur Blockchiffre nicht darauf angewiesen, dass sich erst genug zu verschlüsselnde Daten angesammelt haben, bis sie die Größe für einen Eingabeblock einer Blockchiffre erreicht haben, sondern kann jedes Klartextzeichen sofort in ein chiffriertes Ausgabezeichen übersetzen.

Dieses Zeichen oder Bit kann dann sofort über den unsicheren Kanal (unsicher im Sinn von abhörbar) zum Empfänger übertragen werden.

Daher sind Stromchiffren besonders für Echtzeitübertragungen geeignet (zum Beispiel Mobilfunk).

Arbeitsweise

Synchron

Eine synchrone Stromchiffrierung generiert den Schlüsselstrom unabhängig vom Klar- oder Schlüsseltext. Der Output Feedback Mode (OFB) von Blockchiffren ist ein Beispiel für eine synchrone Stromchiffrierung. Für eine effizientere Konstruktion wird der Schlüsselstromgenerator synchroner Stromchiffren oft als lineares Schieberegister mit Rückkopplung (Linear Feedback Shift Register, LFSR) konstruiert. LFSR können einfach in Hardware implementiert werden, sind schnell und produzieren Pseudozufallsfolgen mit guten statistischen Eigenschaften.

Selbstsynchronisierend

Im Gegensatz zu synchronen Stromchiffren hängt bei einer selbstsynchronisierenden Stromchiffre der Schlüsselstrom von vorhergehenden verschlüsselten Bits ab. Ein Beispiel hierfür ist der Cipher Feedback Mode (CFB) von Blockchiffren.

Angriffe auf Stromverschlüsselungen

Hat ein Angreifer sowohl den Klartext als auch den Chiffretext, so kann er den Schlüsselstrom rekonstruieren. Weitere Nachrichten, die mit diesem Schlüsselstrom verschlüsselt werden, können also zumindest solange entschlüsselt werden, wie Bits im Schlüsselstrom vorliegen. Genau diese Lücke tritt bei der Verschlüsselung von drahtlosen Netzen mittels WEP auf.

Die wichtigsten kryptanalytischen Angriffe gegen LFSR sind der Korrelationsangriff und der algebraische Angriff. Der Korrelationsangriff bildet lineare Approximationen an die nichtlineare Funktion. Der algebraische Angriff nutzt die Eigenschaften dünn besetzter Polynome aus.

Beispiele

Stromchiffrierungen, die effizient in Software implementiert werden können, sind zum einen die OFB- und die CFB-Modi von Blockchiffrierungen. Außer diesen existieren proprietäre Stromchiffrierungen, wie RC4, SEAL, A5/1 oder der Bluetooth-Standard E0.

Auch das Scrambling bei 1000BASE-T wird durch eine Flusschiffre erreicht.

eSTREAM

Das eSTREAM-Projekt ermittelte zwischen Oktober 2004 und Mai 2008 in drei Phasen neue Stromchiffrierverfahren für zukünftige Standards. Es unterscheidet zwei Profile: Profil 1 sind Stromchiffren für Softwareanwendungen, Profil 2 sind Verfahren für Hardware mit limitierten Ressourcen.

Das endgültige Portfolio setzt sich wie folgt zusammen:

In der Revision vom September 2008 wurde wegen Sicherheitsmängeln F-FCSR-H aus dem Portfolio herausgenommen.

Literatur

  • Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone: Handbook of Applied Cryptography. CRC Press, Boca Raton FL u. a. 1996, ISBN 0-8493-8523-7, S. 181–222.
  • Bruce Schneier: Angewandte Kryptographie. Protokolle, Algorithmen und Sourcecode in C. Addison-Wesley, Bonn u. a. 1996, ISBN 3-89319-854-7, S. 425–482 (Informationssicherheit).

Weblinks

Einzelnachweise

  1. Côme Berbain and Henri Gilbert: On the Security of IV Dependent Stream Ciphers. In: Fast Software Encryption 2007. 2007 (iacr.org [PDF]). – „A stream cipher [without IV] is considered secure if the associated key to keystream function is a pseudo-random number generator (PRNG)“