# A5 (Algorithmus)

A5 ist ein Satz von symmetrischen Verschlüsselungsverfahren in Mobilfunknetzen nach dem GSM-Standard. Der Standard definiert verschiedene Chiffren zur Absicherung von Gesprächs- und Datenverkehr über eine Funkstrecke. Die A5-Algorithmen sind sowohl auf den mobilen Endgeräten als auch in den Basisstationen des Netzbetreibers enthalten. Soll beispielsweise ein Gespräch mit A5/3 abgesichert sein, müssen sowohl der Netzbetreiber als auch das jeweilige Endgerät den Algorithmus A5/3 implementiert haben. Fehlt einer Basisstation oder einem mobilen Endgerät der A5/3-Algorithmus, kann keine Verbindung mit A5/0, A5/1 oder A5/4 zustande kommen.$^{:6}$

## A5/1

A5/1 ist eine Stromchiffre, die 1987 entwickelt wurde, um die Sprachkommunikation von GSM zu schützen. Die ersten Angriffe waren bereits seit 2000 bekannt, seit 2003 gibt es praktische Angriffe. 2008 wurden erstmals vorberechnete Rainbow Tables zum Brechen der Verschlüsselung erstellt. Diese wurden aber nicht veröffentlicht. 2009 folgte die Veröffentlichung einer zwei Terabyte großen Rainbowtable. Mit Hilfe dieser Tabelle kann die Verschlüsselung in Echtzeit gebrochen werden (“Near real-time decryption with distributed cracking network”).
Der britische Informatiker Ross Anderson vertrat 1994 die Meinung, es sei absichtlich eine schwache Chiffre ausgewählt worden, um den Nachrichtendiensten der NATO das Abhören von Gesprächen zu ermöglichen. Dies wurde später bestätigt.

## A5/2

A5/2, ebenfalls eine Stromchiffre, ist eine 1989 entwickelte schwächere Version von A5/1 zum Einsatz in bestimmten Exportregionen. Von A5/2 stammende Chiffrate können seit dem Jahr 2003 auf einem durchschnittlichen PC in unter einer Sekunde gebrochen werden. Im Juli 2007 hat die 3GPP die Implementierung von A5/2 in neuen Mobiltelefonen untersagt. Neuen Mobiltelefonen steht in Netzen, die nur A5/2 verwenden, daher keine Verschlüsselung zur Verfügung.

## A5/3

A5/3 basiert auf der Blockchiffre KASUMI in Counter Mode mit einer effektiven Schlüssellänge K$_c$ von 64 Bit, da die 64 niederwertigsten Bits eine Kopie der 64 höchstwertigsten sind. A5/3 ist für GSM und für die EDGE-Variante Enhanced Circuit Switched Data (ECSD) spezifiziert. Das Pendant von A5/3 für GPRS trägt den Namen GEA3. Anders als bei GSM und ECSD ist eine KASUMI-basierte Verschlüsselung der Funkstrecke standardmäßig in UMTS aktiviert.
2010 wurde gegen das A5/3-Verschlüsselungsverfahren KASUMI eine praktischere Attacke von Orr Dunkelman, Nathan Keller und Adi Shamir präsentiert. Die „sandwich“-Attacke ermöglicht es einem Angreifer, den kompletten 128-Bit-Schlüssel zu extrahieren. KASUMI gilt seitdem als theoretisch gebrochen. Allerdings kann über die Wirksamkeit der Angriffe gegen die Implementation von KASUMI in dem A5/3-Algorithmus für GSM-Netze keine Aussage getroffen werden. Mehr Details sind in dem Artikel KASUMI zu finden.
Die Deutsche Telekom gab im Dezember 2013 bekannt, dass der Verschlüsselungsstandard A5/3 in ihrem GSM-Mobilfunknetz bis Ende 2013 bundesweit implementiert wurde. 30.000 Basisstationen und zentrale Netzpunkte mussten dafür umgerüstet werden. Zu diesem Zeitpunkt ging die Telekom von ungefähr 50.000 Endgeräten aus, welche nicht kompatibel zu A5/3 sind. Bei diesen Modellen wird weiter der A5/1-Algorithmus verwendet. Geräte vom Hersteller Apple sind ab iOS 7 mit A5/3 kompatibel. Siehe dazu auch die Liste von Endgeräten mit A5/3-Unterstützung im Abschnitt Weblinks. In Mazedonien, Montenegro, Polen und Tschechien wurde der Algorithmus ebenfalls implementiert. Die Mitbewerber Vodafone, O$_2$ und E-Plus wollen erst in einigen Jahren A5/3 in ihrem GSM-Mobilfunknetzen einsetzen.
Im Abschnitt Weblinks findet sich mit der GSM Security Map eine visuelle Übersicht der GSM-Sicherheit in verschiedenen Ländern.
Aufgrund der geringen Schlüssellänge von 64 Bit lässt sich A5/3 laut Karsten Nohl mit überschaubaren Aufwand mittels der Brute-Force-Methode angreifen.

## A5/4

A5/4 ist der A5/3-Algorithmus mit einem längeren Schlüssel K$_c$ (128-bit). Für GPRS lautet der Name des Verschlüsselungsalgorithmus GEA4.$^{:6}$