A5 Chiffre

Herkunft / Verwendung: A5 ist der Name einer Gruppe von Algorithmen, die für im GSM-Netz zur Verschlüsselung von Mobilfunkgesprächen (und Datenübermittlungen) benutzt wird. Das namensähnliche, in der DDR eingesetzte Verfahren finden Sie unter Koralle (A5).

A5 unterteilt sich in:
  • A5/1
    A5/1 wurde 1987 als Stromchiffre entwickelt. Das Verfahren wurde zunächst geheim gehalten, doch 1998/99 gelang es Marc Briceno, Ian Goldberg und David Wagner durch Reverse Engineering den Algorithmus nachzubilden und offenzulegen. Bereits 2000 wurden erste theoretische, 2003 erste praktische kryptoanalytische Angriffe gegen das Verfahren bekannt. 2008 wurden erste Angriffe mit Rainbow Tables bekannt. Seit 2009 gibt es Angriffsverfahren, die nahezu in Echtzeit A5/1 brechen können. A5/1 gilt dementsprechend als nicht mehr sicher, wird in vielen Ländern aber immer noch eingesetzt. Es wurde/wird durch A5/3 abgelöst. Dafür müssen Basisstationen wie Endgeräte kompatibel sein / gemacht werden.
  • A5/2
    A5/2 wurde 1989 als Stromchiffre entwickelt und ist eine zum Export bestimmte unsicherere Version von A5/1. Sie ist noch schneller knackbar als A5/1. 2007 wurde die Implementierung von A5/2 in neue Mobilfunktelefone von der 3GPP (ein Standardisierungsgremium im Mobilfunk) untersagt.
  • A5/3
    A5/3 basiert auf dem Blockchiffre-Algorithmus KASUMI im Counter Mode und nutzt dabei eine Schlüssellänge von effektiv 64 Bit. Das Pendant von A5/3 für GPRS trägt den Namen GEA3. KASUMI ist für UMTS Standard (nicht unbedingt so für GSM und ECSD). Nach der sogenannten Sandwich-Attacke 2010 (von Orr Dunkelman, Nathan Keller und Adi Shamir) gilt A5/3 als theoretisch gebrochen.
  • A5/4
    A5/4 nutzt wie A5/3 KASUMI, nur mit einem längeren Schlüssel von effektiv 128 Bit. Entsprechend heißt der Verschlüsselungsalgorithmus für GPRS GEA4.

Beschreibung des Algorithmus

A5/1

Der Algorithmus nutzt 3 LFSRs (Linear Feeback Shift Register, zu dt. Schieberegister mit linearer Rückkopplung: und das Ergebnis der Verknüpfung wieder rechts eingefügt wird, nachdem alle Bits in einem Register um einen Schritt nach links verschoben wurden, falls das mittlere Bit (Bit 8 bei LSFR-1 und Bit 10 bei LFSR-2 und 3, wobei von rechts nach links, beginnend mit 0 gezählt wird) einer der folgenden Bedingungen erfüllt: Die beim Shift links "herausgeschobenen" Bits werden XOR verknüpft und ergeben ein Bit des Schlüsselstroms.

Zu Beginn werden die LFSRs mit einem 64 bit langen Schlüssel initialisiert, so dass ein heterogenes Muster in den LFSRs entsteht. Desweiteren geht eine sogenannte Frame Number (öffentlich bekannt für die Sendestation, 22 bit) in die Initialisierung der Register ein. Danach werden die Schieberegister 100 mal weitergeschaltet, um eine gute Durchmischung zu erreichen.

Normalerweise werden immer 114 Bits Schlüsselstrom am Stück erzeugt, weil ein Datenblock im Mobilfunktransfer diese Länge hat.

A5/2

A5/2 nutzt zu den LFSRs von A5/1 ein weiteres LFSR für das Clocking: Die Weiterschaltung hängt bei A5/2 ausschließlich vom LSFR-4 ab. Statt der 3 mittleren Bits bei A5/1 sind bei A5/2 die Bits 3, 7 und 10 des LSFR-4 für eine Weiterschaltung verantwortlich. Es werden also immer alle 3 Register zusammen weitergeschaltet (oder eben nicht), die für die Ausgangsbits und damit den Schlüsselstrom zuständig sind. Außerdem hängt das Feedback von LSFR-4 von nur 2 Bits ab. Auch wenn A5/2 auf den ersten Blick komplizierter erscheinen mag als A5/1, so ist er trotzdem leichter angreifbar und unsicherer.

Beispiele

Klartext:BeispielklartextBeispielklartext (Länge 32 Bytes)
Transfer Number:308
Schlüssel:Lutscher (Länge 8 Bytes / 64 bit)
Chiffrat A5/1:E3EBC58E 34967DE4 A6CDB67A 6E325C4F C0DEB669 75DC519F 9A88172B 48424865
Chiffrat A5/2:F254A539 9AA04F45 7542B67B 46058056 0DDD1660 A42A9BE1 9BC343A1 3BF4A506

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (Decoder / Encoder / Solver-Tool)

Geben Sie als Parameter die Frame Number (dezimal) und dann durch Komma getrennt den Schlüssel (8 Zeichen, wird ggf. mit Binären Nullen aufgefüllt) an. Um nur den Schlüsselstrom zu sehen, wählen Sie als Eingabe eine entsprechende Anzahl von Nullen.

Wenn Sie Texte eingeben, die nicht als Hex-Sequenz (ohne Leerzeichen) interpretiert werden können, erfolgt eine automatische Umsetzung in Binärdaten. Ist das Ergebnis nicht umsetzbar in druckbare ASCII-Zeichen, erfolgt eine automatische Ausgabe in Hex.



Quellen, Literaturverweise und weiterführende Links

Wobst, Reinhard: Abenteuer Kryptologie, Addison-Wesley-Verlag 2001, S. 246