Interaktive Online-Simulation der A5/1-Chiffre

für das Fach "IT-Sicherheit mobiler Systeme" an der Hochschule Trier.

A5/1 ist eine Stromchiffre, die 1987 entwickelt wurde, um die Sprachkommunikation in Mobilfunknetzen nach dem GSM-Standard zu schützen. Sie gilt inzwischen als gebrochen.

Dies ist eine vereinfachte Simulation der Chiffre (ohne den "Frame Counter"-Schritt vor der Registerinitialisierung). Sie besteht aus drei aufeinander folgenden Schritten:

  1. Zunächst muss der Schlüssel vollständig eingelesen werden (64 Einzelschritte, da 64 Bit)
  2. Dann wird das Register initialisiert (100 Einzelschritte)
  3. Nun kann ein beliebig langer Schlüsselstrom erzeugt werden
Der Schlüsselstrom wird beim Sender mit dem Klartext verknüpft (XOR) und dadurch der Geheimtext gebildet, der dann übertragen werden kann. Beim Empfänger wird der gleiche Schlüsselstrom gebildet und dieser dann mit dem Geheimtext verknüpft, um daraus wieder der Klartext erhalten.

Tipp: Wenn man bei den Schritten nicht hunderte Male klicken möchte, dann setzt man z.B. mit einem Klick auf den gewünschten Button den Fokus und kann daraufhin mit gehaltenen Enter-Taste weiterlaufen.

Verwendeter Schlüssel (64 Bit)

0/100

maj(x8, y10, z10) = maj(0, 0, 0) = 0

Schlüsselstrom (0 Bit erzeugt)

Register 1

x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18

Register 2

y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 y17 y18 y19 y20 y21

Register 3

z0 z1 z2 z3 z4 z5 z6 z7 z8 z9 z10 z11 z12 z13 z14 z15 z16 z17 z18 z19 z20 z21 z22

Erklärung: Ein blaues Register zeigt an, dass das Register im nächsten Schritt weitergeschoben wird, da dessen roter Registerwert der maj()-Funktion entspricht und das Register somit "im Takt" (engl. "clocked") ist. Ansonsten wird das Register nicht weitergeschoben.

Umgesetzt von Bastian Raschke und Nils Tegetmeyer im Sommersemester 2015. Inspiriert an dem Video von Jiri Matousek.