Hoofdstuk 1
Inleiding In dit verslag bespreken wij de beveiliging van een wereldwijd gebruikt communicatiemiddel, namelijk de mobiele telefoon. We bespreken kort de algoritmes voor identificatie en versleuteling van de data en bespreken de zwakke punten, waarna we alternatieven voor de huidige standaard bekijken. In dit verslag wordt aangenomen dat de besproken stof over dit onderwerp in [1, p. 61-62] bekend is; deze zal kort besproken worden. Het algoritme wat gebruikt wordt om mobiel dataverkeer te versleutelen (π΄5/1 danwel π΄5/2) werd in eerste instantie geheimgehouden. Echter, omdat dit algoritme gebruikt moet worden in mobiele telefoons, is het gelukt dit algoritme op te bouwen door middel van reverse engineering. Nadat het algoritme bekend was, bleken er een aantal haken en ogen aan te zitten, waaruit zelfs een aantal aanvallen zijn ontstaan. We bespreken deze aanvallen, evalueren hiervan de haalbaarheid en sluiten af met een conclusie over de sterkte van π΄5/1 en π΄5/2. Vervolgens bekijken we een tweetal alternatieven, die geheel verschillende invalshoeken gebruiken; Kasumi en ZRTP. Aangezien deze minder bekend zullen zijn, geven we een uitleg van deze protocollen. Uiteraard bekijken we de sterkte van deze mogelijke opvolgers en sluiten af met een conclusie over de toekomst van beveiligd mobiel dataverkeer.
1
Hoofdstuk 2
Sleutelovereenkomst en encryptie in GSM In de meeste huidige GSM-netwerken worden er twee encryptiealgoritmen gebruikt: π΄5/1 en π΄5/2. π΄5/2 kan worden gezien als een zwakkere variant van π΄5/1, daarom zullen we vooral de veiligheid
van π΄5/1 bekijken. We beginnen met wat informatie die al bekend is; opzet, sleutelovereenkomst en een korte uitleg van het π΄5/1-encryptiealgoritme. Daarna bespreken we de zwaktes van het π΄5/1-algoritme en bekijken de aanvallen die gebruik maken van deze zwakheden.
2.1
Een GSM-netwerk
Een GSM-netwerk kan schematisch gezien worden als in Figuur 3-1. Hierbij zijn de mobiele telefoons aangegeven met Alice en Bob, de basisposten waarmee zij verbonden zijn met respectievelijk π΅ππ΄ en π΅ππ΅ en de serviceproviders respectievelijk πππ΄ en πππ΅ . Deze basisposten zijn niet per se van de serviceproviders. Alice en Bob zijn mobiele stations, terwijl we π΅ππ΄ , π΅ππ΅ , πππ΄ en πππ΅ vaste stations noemen. Er is gekozen, in verband met controleinformatie en het aftappen van gesprekken door de overheid, om bij de vaste stations de data niet te versleutelen. Beveiliging vindt dus alleen plaats tussen Alice en π΅ππ΄ en Bob en π΅ππ΅ . 2.1.1
Sleutelovereenkomst
Om ervoor te zorgen dat Alice op een beveiligde manier met het netwerk kan communiceren, heeft de provider aan de SIM-kaart van Alice een speciale string ππ΄ meegegeven, die alleen aan Alice en πππ΄ bekend is. De identificatie tussen Alice en het vaste netwerk gaat nu als volgt:
1. πππ΄ maakt een willekeurige string π , en berekent de sleutel πΎπ΄ = π΄3/π΄8(π, ππ΄ ). πππ΄ stuurt π en πΎ naar π΅ππ΄ . De functie π΄3/π΄8 hangt van de provider van Alice af, deze moet zodanig
2
gemaakt zijn dat de basispost niet achter ππ΄ kan komen als hij πΎπ΄ en π weet. Een voorbeeld van een π΄3 algoritme kan gevonden worden in [2, p. 16]. 2. π΅ππ΄ heeft nu de keysleutel πΎπ΄ , hij stuurt π naar Alice. Deze heeft beschikking over π en ππ΄ , en kan dus πΎπ΄ berekenen.
3. Nu hebben zowel Alice als π΅ππ΄ beschikking over dezelfde sleutel. 1 Iemand die de dataoverdracht tussen Alice en π΅ππ΄ afluistert, krijgt alleen een willekeurige string π te horen. Aangezien de afluisteraar niet over ππ΄ beschikt, kan hij ook πΎπ΄ niet berekenen. 2.1.2
Encryptie
Het beveiligen van de data bij GSM wordt gedaan met behulp van stroomversleuteling [1, p. 55], specifiek het π΄5-algoritme, waarbij zowel het π΄5/1 en π΄5/2 algoritme worden gebruikt. Hierbij gebruiken Alice en π΅ππ΄ dezelfde key πΎπ΄ om een stroom aan bits te genereren, welke worden geXORd met de data. π΄5 maakt gebruik van schuifregisters, ofwel πΏπΉ ππ
s. De sleutel wordt verdeeld over drie van deze
registers (respectievelijk 19, 22 en 23 bits lang). Een verkorte beschrijving van het π΄5/1-algoritme is als volgt (voor de volledige versie, zie [1, p. 56]) : 1. De sleutel wordt per bit in de schuifregisters gebracht. (64 stappen) 2. Het framenummer wordt erbij genomen. Een frame staat gelijk aan 4,6 ms conversatie. (22 stappen) 3. Er worden klokbits geΓ―ntroduceerd: elk register heeft een klokbit, en een register zal in een stap alleen draaien als de waarde van zijn klokbit in de meerderheid is. (100 stappen) 4. De output wordt geproduceerd, weer met klokbits, door de bits die uit de registers schuiven te XORen. (228 stappen) De output van een ronde is dus een rij van 228 bits, waarvan de helft voor het versleutelen van uitgaande data en de helft voor het ontcijferen van inkomende data.
2.2
Zwaktes
Hetπ΄5/1-algoritme (en zwakkere variant π΄5/2) beschreven in Sectie 2.1.2 heeft. Er zijn 264 mogelijke sleutels; een Brute Force Attack, waarbij we een bericht onder elke sleutel proberen te ontcijferen, zal dus ook in de orde van 264 tijd kosten. Echter zijn er een aantal eigenschappen van π΄5/1 die deze tijd significant kunnen verminderen. Deze kunnen gevonden worden in [1] en [3]. De meest belangrijke zijn de volgende: 3
β Het aantal mogelijke states die wij aan het einde van ronde 3 over hebben, is veel kleiner
dan 264 . Het blijkt dat nog maar 14% de toestanden voor kan komen [4]. Op p.54 hiervan kan worden gezien hoe na slechts één stap nog maar 62,5% van de initiΓ«le hoeveelheid states overblijft. Zie Figuur 3-2. β Er worden een enorme hoeveelheid frames gecreΓ«erd (elke 4, 6ππ ), in 5 seconden zijn er al
1187 frames. De data binnen elke frame wordt geXORd met een rij bits die afkomstig is van dezelfde sleutel, en alleen verschilt in het framenummer. Een aanval kan dus op elke frame / een aantal frames worden toegepast, en omdat dit zo vaak kan stijgt de slagingskans enorm. Met behulp van deze zwakheden hebben Biryukov, Shamir en Wagner in [3] een aantal theoretische Known Plaintext Attacks gecreΓ«erd welke het π΄5/1-algoritme zou kunnen kraken. De resultaten zijn te zien in Figuur 3-3. De derde en belangrijkste aanval is besproken tijdens de hoorcolleges; de Random Subgraph Attack is een Distinguished Point (Rainbow) Table Attack. De tijdsintensiteit van de aanval valt wat tegen; deze is een aantal minuten, dus zal realtime meeluisteren met een gesprek niet kunnen. Een ander, veel groter probleem met deze aanval praktisch inzetten is dat de plaintext bij een telefoongesprek erg lastig te verkrijgen is. Het is namelijk niet zo dat het opgenomen geluid direct de plaintext wordt; eerst moet deze worden gedigitaliseerd, gecomprimeerd en er wordt controle-informatie toegevoegd. Hierdoor is het verkrijgen van de volledige plaintext zeer ingewikkeld. Deze problemen reduceren de aanval tot een theoretische ontcijfering. Barkan, Biham en Keller [5] hebben een Ciphertext Only Attack ontwikkeld, die niet zozeer π΄5/1 ontcijfert, maar wel gesprekken kan afluisteren. Hierbij is het nodig dat de telefoon het zwakkere π΄5/2 algoritme ondersteunt. Eerst bekijken we een Ciphertext Only Attack op π΄5/2, hier wordt
gebruik gemaakt van de volgende eigenschappen van π΄5/2: β De sleutel kan berekend worden vanuit de waarden van de registers aan het einde van stap 2
en het framenummer. β Stappen 3 en 4 van het algoritme kunnen worden gezien als een functie die kwadratisch is in
de in de bits in de registers na stap 2. β In de plaintext worden foutcorrectiebits toegevoegd, voordat de encryptie plaatsvindt. Hier-
door heeft de plaintext altijd een vaste structuur. β Het probleem van het vinden van de juiste sleutel kan gereduceerd worden tot het oplossen
van een lineair stelsel van vergelijkingen, we krijgen πΎπΊ Β· πΆ = πΎπΊ Β· π, waarbij πΆ de ciphertext is, π de output van de sleutelgeneratie van de 4 frames en πΎπΊ een matrix die onafhankelijk is van de sleutel. In de aanval worden alle mogelijke waarden van het vierde register uitgeprobeerd. Het grootste deel van deze mogelijke waarden leidt tot een tegenspraak in het lineair stelsel van vergelijkingen. 4
Enige mogelijke sleutelwaarden die er wel doorheen komen, worden versleuteld en vergeleken met de ciphertext. Op een mobiel die π΄5/2 ondersteunt kan deze aanval op π΄5/2 op de volgende manieren worden omgezet naar een aanval op π΄5/1: 1. De aanvaller gaat tussen de mobiel en de basispost in zitten, waarbij hij zich aan de mobiel als basispost voordoet en aan de basispost als mobiel. Als dan de basispost vraagt om encryptie met π΄5/1, zegt de aanvaller tegen de mobiel dat er π΄5/2 gebruikt moet worden. De aanvaller kan hieruit de sleutel opmaken. Omdat de willekeurige string π al is uitgewisseld, zal nu voor het π΄5/1-algoritme, die gebruikt wordt tussen de aanvaller en de basispost, dezelfde string en dus dezelfde sleutel gebruikt worden. Hiermee kan de aanvaller het bericht onderscheppen en doorsturen, zonder dat daarbij de mobiel of de basispost kennis heeft van de aanvaller. 2. Deze tweede aanval gebruikt het feit dat nadat een mobiel en basispost eenmaal geΓ―dentificeerd zijn, er niet vaak meer een nieuwe willekeurige string wordt gekozen. De aanvaller kan zich nu aan de mobiel als precies die basispost voordoen, waarna hij vraagt om iets te encrypten met π΄5/2. Zo kan hij de sleutel verkrijgen en dus verdere gesprekken ontcijferen.
Natuurlijk is het zo dat deze aanval niet zozeer π΄5/1 kraakt, maar meer gebruik maakt van de zwakte van π΄5/2 en het feit dat een mobiel zowel van π΄5/1 als van π΄5/2 gebruik kan maken. In essentie is π΄5/1 met deze aanval nog niet gekraakt; slechts de zwakte van de huidige opzet van GSM is blootgesteld. Echter is het Barkan, Biham en Keller ook gelukt (in [5]) een passieve Ciphertext Only Attack uit te voeren op π΄5/1, dus zonder interferentie van de aanvaller en zonder een aanval op π΄5/2 te gebruiken. Het is ze gelukt om steeds vier opeenvolgende frames in hun toestand voor stap 3 van het π΄5/1-algoritme terug te brengen, waarna ze de sleutel kunnen terugvinden door stappen 2 en 1 omgekeerd uit te voeren. Het framenummer is al bekend, en dit geeft dus nog een aantal mogelijke sleutels. De resultaten voor een aantal mogelijke combinaties geheugen/voorbereidingstijd/kraaktijd zijn te vinden in Figuur 3-4. Ook al zijn deze aanvallen voor een individu niet mogelijk, is dit voor grotere organisaties niet buiten bereik. We bekijken de aanval waarbij 8 seconde transmissietijd, 350 Β· 200 = 70000GB geheugenruimte 5000 PCβs in de voorbereiding en 200 PCβs tijdens de aanval zelf nodig zijn. Een benodigde transmissietijd van 8 seconde valt zeker aan de veilige kant; bijna alle telefoongesprekken duren meer dan 8 seconden. CommerciΓ«le harddisks kosten zoβn 3 cent per GB (bron: Tweakers.net), dus 70000GB is een investering van 2100 A C. Gegeven dat de PCβs geen probleem zijn, zijn dit redelijke eisen voor een aanval. Daarbovenop komt nog dat een van de documenten gelekt door Edward Snowden in 2013, [6], informatie wordt gegeven dat de NSA (National Security Agency) de mogelijkheid heeft om een 5
tekst, versleuteld met π΄5/1, te ontcijferen zonder de sleutel te kennen. Bij deze gelekte documenten is er uiteraard twijfel over de waarheidswaarde hiervan, maar zoals we net gezien hebben is het goed mogelijk dat de NSA over deze kwaliteit beschikt. Het relevante deel van het document is te vinden in Figuur 3-5. Verder is nog bevestigd (door onze gastspreker van de AIVD) dat de Algemene Inlichtingen- en Veiligheidsdienst de mogelijkheid heeft om met π΄5/1 versleuteld dataverkeer te onderscheppen en te ontcijferen.
2.3
Conclusie
We hebben in dit hoofdstuk twee huidige versleutelingstechnieken van GSM bekeken, namelijk π΄5/1 en π΄5/2. Uit meerdere bronnen is gebleken dat deze algoritmen niet meer veilig zijn en zelfs in realtime kunnen worden gekraakt, zowel met een Known Plaintext Attack als met een Ciphertext Only Attack. Deze laatste aanval heeft als gevolg dat elk gesprek, versleuteld met π΄5/1 of π΄5/2, zonder interferentie van de aanvaller, in realtime ontcijferd kan worden. De enige conclusie is dan ook dat π΄5/1 en π΄5/2 niet meer veilig zijn om te gebruiken.
6
Hoofdstuk 3
Alternatieven In het vorige hoofdstuk zagen we dat π΄5/1 en π΄5/2 voor een veilige dataoverdracht niet (meer) afdoende zijn. Daarom bekijken we nog twee alternatieven voor π΄5/1 en π΄5/2: π΄5/3 (afgeleid van Kasumi) en ZRTP, welke zeer verschillend zijn in gebruik. We bespreken hoe beide protocollen werken en bekijken hun zwakke plekken.
3.1
A5/3
Kasumi is een block cipher, zie [1], die gebruik maakt van een Feistelconstructie, welke bekend is van encryptie bij DES. Een overzicht is te zien in Figuur 3-6. Kasumi heeft acht rondes, met een blokgrootte van 64 bits en een sleutellengte van 128 bits. Verder moet bij de figuur vermeld worden dat ππ staat voor een S-box, πΎππ, πΎπΏπ en πΎπΌπ zijn bitstring afgeleid van de sleutel zoals in Figuur 3-7 (waarbij πΎ β² de sleutel geXORd met 0π₯123456789π΄π΅πΆπ·πΈπΉ πΉ πΈπ·πΆπ΅π΄9876543210 is). In [9] en [10] worden twee aanvallen beschreven op Kasumi. Beiden maken gebruik van een zogenaamde related-key attack: dit is een aanval waarbij de aanvaller een bericht kan laten versleutelen onder verschillende sleutels, waarvan de waarden niet bekend zijn, maar wel aan elkaar gerelateerd, bijvoorbeeld de laatste 16 bits hetzelfde. Hieraan wordt het idee van een boomerang attack toegevoegd: hierbij bekijkt de aanvaller van de invloed in de ciphertext van het veranderen van een aantal bit(s) in de plaintext. Daarna wordt gekeken met welke sleutels deze veranderingen overeenkomen. Het opzetten van een dergelijke related-key boomerang attack geeft in [9] een aanval met tijdscomplexiteit 276 . De aanval in [10] geeft een nieuwe aanval waarvoor de keuze van de berichten door de aanvaller vereist is. Hierdoor is het Dunkelmann, Keller en Shamir gelukt om de tijdscomplexiteit aanval te reduceren tot 232 . Echter zijn deze aanvallen in de praktijk lastig om in te zetten; het geeft slechts aan dat Kasumi gevoelig is voor differentiΓ«le analyse. Dit is op zijn minst onverwacht, aangezien DES hier juist erg sterk tegen is. Interessant om op te merken is dat de overgang van een kraak van π΄5/2 naar π΄5/1 van Barkan, 7
Biham en Keller [5] ook werkt van π΄5/2 naar π΄5/3; de sleutelovereenkomst van π΄5/1, π΄5/2 en π΄5/3 is hetzelfde, dus de twee tactieken van Sectie 2.2 werken op dezelfde manier ook op een telefoon die π΄5/2 en π΄5/3 ondersteunt. Echter heeft UMTS, een protocol wat van Kasumi gebruik maakt,
hiervoor een mechanisme ingebouwd genaamd Message Authentication Code, ofwel MAC. Dit zijn kleine toevoegingen aan de berichten die worden gebruikt om de authenticiteit van de afzender en integriteit van het bericht te garanderen. Omdat in deze Man-in-the-Middle Attack niet Alice, maar Oscar berichten naar basispost Bob stuurt, krijgt Bob berichten zonder de juiste MAC, en weet hij dat Oscar aanwezig is. Omdat Oscar al de sleutel heeft, zullen zij de geheime ππ΄ van Alice moeten gebruiken als sleutel, en moet dus ook via de servicepost.
3.2
ZRTP (Zimmermann Real-Time Transport Protocol)
In tegenstelling tot de vorige protocollen, gebruikt ZRTP end-to-end encryptie, dat wil zeggen dat de data van mobiel tot mobiel beveiligd is. Zoals we namelijk eerder hebben besproken, zal de data, terwijl het over het vaste netwerk verzonden wordt, niet beveiligd zijn. ZTRP zal dus ook meteen de afluistermogelijkheid via het vaste netwerk (door de overheid) zonder decryptie onmogelijk maken. Het protocol is al beschikbaar, in de vorm van Silent Circle, en kan door middel van een SD-kaart en een abonnement een telefoon deze beveiliging geven. Onze gastspreker heeft bevestigd dat de AIVD telefoons met Silent Circle veilig genoeg acht voor Departementaal Vertrouwelijke data-uitwisseling. Een probleem wat ontstaat door het weghalen van dit vaste netwerk is de sleutelovereenkomst; we kunnen niet zomaar een geheime sleutel baseren op een string die uniek is voor elke telefoon, aangezien de twee telefoons deze niet van elkaar weten (laten we ze maar weer eens Alice en Bob noemen). Echter zijn er een aantal algoritmen om toch voor sleutelovereenkomsten te zorgen. ZTRP maakt hiervoor gebruik van het Diffie-Hellman protocol: 1. Alice kiest een random π, Bob een random π. Ook kiezen ze samen een π . Deze drie getallen zijn elementen van Zβπ (hoewel dit ook een andere groep met eenzelfde eigenschappen zou kunnen zijn), met π een generator. 2. Alice stuurt Bob π π , Bob stuurt Alice π π . Beiden kunnen nu π ππ berekenen, en dit wordt hun gedeelde sleutel. Een aanvaller Oscar ziet π π en π π voorbij komen en zou nu graag π ππ willen berekenen. Dit staat bekend als het Diffie-Hellman probleem, waarvan niet bekend is of dit oplosbaar is of niet. Voor sommige priemgetallen π is het even lastig als het nemen van een logaritme [7] en voor sommige minder lastig [8]. We zullen er hier van uitgaan dat het niet mogelijk is π ππ te bepalen uit π π en π π . Echter, omdat bij Diffie-Hellman authenticatie ontbreekt, is dit protocol erg kwetsbaar voor een Man in The Middle Attack (MitM); hierbij plaatst Oscar zich tussen Alice en Bob in. Hij doet 8
zich dan aan Alice voor aan Bob, en aan Bob voor als Alice. Met beiden initialiseert hij het DiffieHellman protocol, zo krijgt hij twee verschillende keys. Aangezien Alice en Bob denken dat ze met elkaar verbonden zijn, wisselen zij data uit. Alice stuurt nu een bericht naar Oscar, waarvan zij denkt dat het Bob is. Oscar ontcijfert het bericht met de key van Alice, neemt de informatie in zich op en versleutelt het bericht met Bob zijn sleutel, waarna hij dit naar Bob verstuurt. Alice en Bob hebben geen idee dat Oscar ertussen zit; zij ontvangen (misschien met een kleine vertraging) gewoon berichten die versleuteld zijn met hun sleutel. Om dit op te lossen heeft ZRTP een extra authenticatie ingebouwd; bij deze MitM Attack hebben Bob en Alice niet meer dezelfde sleutel. Oscar kan hier ook niet voor zorgen; hij kan namelijk niet weten wat de π en de π zijn die Alice respectievelijk Bob hebben gekozen. Hij kan wel π π die hij van Bob heeft gekregen doorgeven aan Alice, maar dan weet Oscar zelf de π niet, maar alleen π π en π π , dus kan hij ook π ππ niet berekenen (zoals we net aan hebben genomen). Door een korte string uit te wisselen, via een ander kanaal (zoals spraak), meestal een hash van de sleutel, en deze met elkaar te vergelijken, weten ze dat er een MitM Attack bezig is als deze strings niet overeenkomen. Aangezien het voor Oscar zeer lastig is om de stem na te bootsen, zal deze authenticatie veilig moeten zijn. Zo is een correcte werking van Diffie-Hellman (bijna) gegarandeerd. Deze authenticatie staat bekend als Short Authentication String (SAS). Voor volgende gesprekken kunnen hashes van vorige (veilige) gesprekken meegenomen worden naast het Diffie-Hellman protocol, deze hoeven dan niet onderling uitgewisseld te worden. Hierdoor is het voor Oscar zeer lastig om nog een aanval uit te voeren, omdat hij geen MitM Attack meer kan uitvoeren (de encryptie / decryptie heeft nu namelijk een extra component waarvan de sleutel onbekend is aan Oscar). Voor het encryptiealgoritme kan nu een veilig symmetrisch algoritme worden gekozen, bijvoorbeeld AES Streaming Mode. Van [1] weten we dat er weinig reden is om aan te nemen dat AES is de korte toekomst zal worden gekraakt.
3.3
Conclusie
Voor beide voorgestelde algoritmen is op het moment nog geen kraak bekend, en zijn dus in ieder geval beter dan π΄5/1 en π΄5/2. Het probleem met Kasumi is dat deze theoretisch al gekraakt is (zij het onder onwaarschijnlijke omstandigheden) en het is dus nog maar de vraag of deze aanval aanleiding geeft tot een praktische aanval. Hierdoor is het twijfelachtig of Kasumi een correct protocol is om in te zetten voor GSMnetwerken. ZRTP doet het in dit opzicht beter; de aparte onderdelen van de encryptie zijn al erg lang publiekelijk bekend zonder dat daarbij praktische aanvallen bekend zijn. Het zwakste gedeelte is de 9
Short Authentication String; deze moet nu bijvoorbeeld via spraak worden uitgewisseld. Het is niet ondenkbaar dat spraak in de toekomst kan worden nagebootst; in dat geval moet er weer iets nieuws verzonnen worden om authenticatie te regelen.
10
Figuur 3-1: Een GSM-netwerk. [1, p. 61]
Figuur 3-2: Links worden er met 128 toestanden stap 3 van het π΄5/1-algoritme uitgevoerd, waarbij we bij elke stap een stuk naar rechts gaan; aan de rechterkant vinden we de eindtoestanden. De groene eindtoestanden hebben veel mogelijke initiΓ«le toestanden, de rode weinig en de grijze geen. 109 van de 128 toestanden worden niet bereikt; er blijven van deze 128 maar 19 over. In dit figuur is goed te zien hoe toestanden samenvoegen, waarna ze als één keten verdergaan. [4, p. 61]
11
Figuur 3-3: De drie aanvallen op π΄5/1 beschreven in [3]. [3, p. 2]
Figuur 3-4: Een aantal varianten van een Ciphertext Only Attack op π΄5/1. [5, p. 14/613]
Figuur 3-5: (Mogelijk) bewijs dat de NSA beschikt over een kraak van π΄5/1. [6]
12
Figuur 3-6: Een overzicht van encryptie bij Kasumi. [10]
Figuur 3-7: Afleiding van πΎππ, πΎπΏπ en πΎπΌπ bij Kasumi. [10]
13
Bibliografie [1] Gerard Tel, Cryptografie: Beveiliging van de digitale maatschappij. Universiteit Utrecht, 2006. [2] GSMA, Specification of the 3GPP Confidentiality and Integrity Algorithms 128-EEA3 & 128EIA3. Document 1: 128-EEA3 and 128-EIA3 Specification. Version 1.7, 2011
[3] Alex Biryukov, Adi Shamir, and David Wagner, Real Time Cryptanalysis of A5/1 on a PC. Computer Science department, The Weizmann Institute, Rehovot 76100, Israel. [4] Magnus Glendrange, Kristian Hove, Espen Hvideberg, Decoding GSM. NTNU, 2010 [5] Elad Barkan, Eli Biham, and Nathan Keller, Instant Ciphertext-Only Cryptanalysis of GSM Encrypted Communication. Israel Institute of Technology, 2010
[6] Unknown, GSM Classification Guide. NSA, 2006 [7] B. de Boer, Diffie-Hellman is as Strong as Discrete Log for Certain Primes, Advances in Cryptology, CRYPTO 88 [8] J.H. Cheon, Security Analysis of the Strong Diffie-Hellman Problem, Seoul National University, Advances in Cryptology, EUROCRYPT 2006 [9] Orr Dunkelman, Nathan Keller, and Adi Shamir, A Related-Key Rectangle Attack on the Full KASUMI Weismann Institute of Science
[10] Orr Dunkelman, Nathan Keller, and Adi Shamir, A Practical-Time Related-Key Attack on the KASUMI Cryptosystem Used in GSM and 3G Telephony, Weismann Institute of Science
14