Sunteți pe pagina 1din 25

</head><body dir="ltr" lang="en">

<div id="header">
<div id="mastwrap"><div id="masthead">
<form id="searchform" method="get" action="">
<div>
<input name="action" value="fullsearch" type="hidden">
<input name="context" value="180" type="hidden">
<label style="display: none;" for="searchinput">Search:</label>
<input id="searchinput" name="value" value="" size="20" onfocus="searchFocus(thi
s)" onblur="searchBlur(this)" onkeyup="searchChange(this)" onchange="searchChang
e(this)" alt="Search" type="text">
<input id="titlesearch" name="titlesearch" value="Titles" alt="Search Titles" ty
pe="submit">
<input id="fullsearch" name="fullsearch" value="Text" alt="Search Full Text" typ
e="submit">
</div>
</form>
<script type="text/javascript">
<!--// Initialize search form
var f = document.getElementById('searchform');
f.getElementsByTagName('label')[0].style.display = 'none';
var e = document.getElementById('searchinput');
searchChange(e);
searchBlur(e);
//-->
</script>
<ul id="username">
<li><a href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/crack
ing_a5?action=login">Login</a></li>
</ul>
</div></div>

<ul id="navibar">
</ul>
<ul class="extranav">
<li><a href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/Recen
tChanges">RecentChanges</a></li>
<li><a href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/FindP
age">FindPage</a></li>
</ul>
<ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li><a
href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5?
action=info">Info</a></li><li><a href="http://web.archive.org/web/20070805124756
/http://wiki.thc.org/cracking_a5?action=AttachFile">Attachments</a></li><li>
<form class="actionsmenu" method="get" action="">
<div>
<select name="action" onchange="if ((this.selectedIndex != 0) &amp;&amp;
(this.options[this.selectedIndex].disabled == false)) {
this.form.submit();
}
this.selectedIndex = 0;">
<option value="show">More Actions:</option><option value="raw">Raw Text<
/option>
<option value="print">Print View</option>
<option value="RenderAsDocbook">Render as Docbook</option>
<option value="refresh">Delete Cache</option>
<option value="show" disabled="disabled" class="disabled">------------</option>
<option value="SpellCheck">Check Spelling</option>
<option value="LikePages">Like Pages</option>
<option value="LocalSiteMap">Local Site Map</option>
<option value="show" disabled="disabled" class="disabled">------------</option>
<option value="RenamePage" disabled="disabled" class="disabled">Rename Page</opt
ion>
<option value="DeletePage" disabled="disabled" class="disabled">Delete Page</opt
ion>
<option value="show" disabled="disabled" class="disabled">------------</option>
<option value="MyPages">My Pages</option>
<option value="SubscribeUser">Subscribe User</option>
<option value="show" disabled="disabled" class="disabled">------------</option>
<option value="Despam">Remove Spam</option>
<option value="PackagePages">Package Pages</option>
</select>
</div>
<script type="text/javascript">
<!--// Init menu
actionsMenuInit('More Actions:');
//-->
</script>
</form>
</li></ul>
</div>
<div id="page" dir="ltr" lang="en">

<ul id="pagelocation">
<li><a class="backlink" title="Click to do a full-text search for this title" hr
ef="http://web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5?ac
tion=fullsearch&amp;value=linkto%3A%22cracking+a5%22&amp;context=180">cracking a
5</a></li>
</ul>
<div dir="ltr" id="content" lang="en"><span class="anchor" id="top"></span>
<span class="anchor" id="line-2"></span><p class="line867"><strong><big>The A5 C
racking Project</big></strong><br>
<span class="anchor" id="line-3"></span><img class="attachment" src="http://web
.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5?action=AttachFil
e&amp;do=get&amp;target=a51.png" title="attachment:a51.png"> <span class="anchor
" id="line-4"></span><span class="anchor" id="line-5"></span></p><p class="line8
67"><strong>NEWS: Someone vandalised the Wiki. I've thus removed write permissio
ns for everyone. From now on if you want to add information you have to send the
m to me (steve at segfault.net) instead of editing this page directly.</strong><
br>
<span class="anchor" id="line-6"></span><br>
<span class="anchor" id="line-7"></span><strong>NEWS: We have created a PRIVATE
A5 mailinglist. If you feel you have something to contribute to the project ple
ase contact steve [at] segfault.net. The reason for this has been explained on t
he public mailinglist a5 [at] lists.segfault.net.</strong> <span class="anchor"
id="line-8"></span><span class="anchor" id="line-9"></span></p><p class="line867
"><img class="attachment" src="http://web.archive.org/web/20070805124756/http://
wiki.thc.org/cracking_a5?action=AttachFile&amp;do=get&amp;target=eff.jpg" title=
"attachment:eff.jpg"> Powered by <a class="http" href="http://web.archive.org/we
b/20070805124756/http://www.eff.org/">EFF</a>. <span class="anchor" id="line-10"
></span></p><div class="table-of-contents"><p class="table-of-contents-heading">
Contents</p><ol><li><a href="http://web.archive.org/web/20070805124756/http://wi
ki.thc.org/cracking_a5#head-95c01db22f34647ab638420456c777c9c6813748">LICENSE</a
></li><li><a href="http://web.archive.org/web/20070805124756/http://wiki.thc.org
/cracking_a5#head-6fb4f4c3d7bdd898698faf9a42872184f837271c">About</a></li><li><a
href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5
#head-31aea107a4660b26c7c4c0899c5259b34e2e9908">How you can help</a></li><li><a
href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5#
head-cb5ff9444627fa98efb9d04fa37d0ac2070db44a">TODO</a></li><li><a href="http://
web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5#head-cf9c7bba
f8f7c5027f1d4fb9bf25328d04ca5be6">Requirements</a></li><li><a href="http://web.a
rchive.org/web/20070805124756/http://wiki.thc.org/cracking_a5#head-007e5fe318fb2
b65630f695b6ac9fb3a3f6e01f8">A5 weakness</a></li><li><a href="http://web.archive
.org/web/20070805124756/http://wiki.thc.org/cracking_a5#head-cead03ef657be7117a8
6f0c700fa800dd694ff18">A5/GSM encryption example</a></li><li><a href="http://web
.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5#head-64138c5686a
a40d8ab04efd92443b956f8e69ca7">Misc Ideas</a><ol><li><a href="http://web.archive
.org/web/20070805124756/http://wiki.thc.org/cracking_a5#head-0b6672496f7fb9dc098
eaced6f1f86739d562331">FPGA Ideas</a><ol><li><a href="http://web.archive.org/web
/20070805124756/http://wiki.thc.org/cracking_a5#head-a49771d908eed356d014f747426
04fa9af73d44b">Brute Force</a></li><li><a href="http://web.archive.org/web/20070
805124756/http://wiki.thc.org/cracking_a5#head-134aa5cf71ade84b3cd069cc3389a612b
87736de">Brute Force II</a></li><li><a href="http://web.archive.org/web/20070805
124756/http://wiki.thc.org/cracking_a5#head-4444aa665c6ed6b1836492327e614325e271
c683">possible boards</a></li></ol></li><li><a href="http://web.archive.org/web/
20070805124756/http://wiki.thc.org/cracking_a5#head-9c5e6cbfcfefe22a276f73d51d72
cdcb97167c22">Rainbow Table</a><ol><li><a href="http://web.archive.org/web/20070
805124756/http://wiki.thc.org/cracking_a5#head-89691ba2a57e2e3a59280748a5428ac5f
7c742ee">Idea I</a></li><li><a href="http://web.archive.org/web/20070805124756/h
ttp://wiki.thc.org/cracking_a5#head-fd131e7cc4e883d35f1fd1c5d606033a20a49458">Id
ea II</a></li><li><a href="http://web.archive.org/web/20070805124756/http://wiki
.thc.org/cracking_a5#head-a7b483518faf009b7d7d0e06fe3a08eb7f47d812">Idea III</a>
</li><li><a href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/
cracking_a5#head-e467ef380130611b7af25da4d8367e23d5df2810">Idea IV</a></li><li><
a href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a
5#head-49297a2b6d698aca3e26a7b9519a1adf7f0ec9d3">Idea V</a></li><li><a href="htt
p://web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5#head-91dc
ce4dee091ed0c78fcaccabbfc2aa8ff890b8">Idea VI</a></li></ol></li></ol></li><li><a
href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5
#head-a676f72cda6831833ec866338e6f277bc058b1a7">Resources</a><ol><li><a href="ht
tp://web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5#head-dfd
0c5819f60ebc0728549f621229dabe9175857">List of used encryption around the World<
/a></li><li><a href="http://web.archive.org/web/20070805124756/http://wiki.thc.o
rg/cracking_a5#head-09c58797f15122ced40127af10230abe40f12d62">How to check if A5
/1 is used</a></li></ol></li><li><a href="http://web.archive.org/web/20070805124
756/http://wiki.thc.org/cracking_a5#head-10b4fbabc315a98385d77ce6cdd347e0cc09dc4
3">Links</a></li></ol></div> <span class="anchor" id="line-11"></span><span clas
s="anchor" id="line-12"></span><p class="line867">
</p><h2 id="head-95c01db22f34647ab638420456c777c9c6813748">1. LICENSE</h2>
<span class="anchor" id="line-13"></span><p class="line867"><span class="anchor"
id="line-14"></span></p><pre><span class="anchor" id="line-15"></span>
GSM Software Project License
<span class="anchor" id="line-16"></span> Version 1, January 20
07
<span class="anchor" id="line-17"></span>
<span class="anchor" id="line-18"></span>All code, information or data [from now
on "data"] available from the GSM Software Project or any other project linked
from this or other pages is owned by the creator who created the data. The copyr
ight, license right, distribution right and any other rights lies with the creat
or.
<span class="anchor" id="line-19"></span>
<span class="anchor" id="line-20"></span>It is prohibitied to use the data witho
ut the written agreement of the creator. This included using ideas in other proj
ects (commercial or not commercial).
<span class="anchor" id="line-21"></span>
<span class="anchor" id="line-22"></span>Where data was created by more than 1 c
reator a written agreement from each of the creators has to be obtained.
<span class="anchor" id="line-23"></span>
<span class="anchor" id="line-24"></span>Please contact steve [at] segfault.net
for any questions.
<span class="anchor" id="line-25"></span></pre><span class="anchor" id="line-26"
></span><p class="line867">
</p><h2 id="head-6fb4f4c3d7bdd898698faf9a42872184f837271c">2. About</h2>
<span class="anchor" id="line-27"></span><span class="anchor" id="line-28"></spa
n><p class="line862">We are security enthusiasts. Our goal is to implement a sys
tem that can crack A5/1. Our results will be used with the <a class="http" href=
"http://web.archive.org/web/20070805124756/http://www.thc.org/gsm">GSM Software
Project</a> to demonstrate weaknesses in GSM. The A5 algorithm has been broken (
in theory) in 1998 but it's still widely used. The mobile operators still insist
that the GSM customers (that's you and me!) are protected and that our data is
safe.<br>
<span class="anchor" id="line-29"></span><br>
<span class="anchor" id="line-30"></span>We want to bring together all the folk
s who worked on the theory of cracking A5/1.<br>
<span class="anchor" id="line-31"></span><br>
<span class="anchor" id="line-32"></span><strong>Subscribe to our mailinglist b
y sending an email to a5-subscribe [at] lists.segfault.net</strong> <span class=
"anchor" id="line-33"></span><span class="anchor" id="line-34"></span></p><p cla
ss="line867">
</p><h2 id="head-31aea107a4660b26c7c4c0899c5259b34e2e9908">3. How you can help</
h2>
<span class="anchor" id="line-35"></span><span class="anchor" id="line-36"></spa
n><ol type="1"><li>Add links and information to this page or send them to steve
at segfault.net <span class="anchor" id="line-37"></span></li><li>Sponsor us! We
need hardware, books and coffee! <span class="anchor" id="line-38"></span></li>
<li>Come up with smart ideas. <span class="anchor" id="line-39"></span><span cla
ss="anchor" id="line-40"></span></li></ol><p class="line867">
</p><h2 id="head-cb5ff9444627fa98efb9d04fa37d0ac2070db44a">4. TODO</h2>
<span class="anchor" id="line-41"></span><span class="anchor" id="line-42"></spa
n><ol type="1"><li>Come up with example data (e.g. first encrypted burst from BT
S to MS and first burst from MS to BTS). <span class="anchor" id="line-43"></spa
n></li><li>Enhance the attack on A5/1 <span class="anchor" id="line-44"></span><
/li><li>Implement a A5/2 crack. <span class="anchor" id="line-45"></span><span c
lass="anchor" id="line-46"></span></li></ol><p class="line867">
</p><h2 id="head-cf9c7bbaf8f7c5027f1d4fb9bf25328d04ca5be6">5. Requirements</h2>
<span class="anchor" id="line-47"></span><span class="anchor" id="line-48"></spa
n><p class="line874">The project comes in stages. <span class="anchor" id="line-
49"></span><span class="anchor" id="line-50"></span></p><ol type="1"><li>Underst
and current state of A5/1 cracking (THAT'S WHERE WE ARE IN NOW!) <span class="an
chor" id="line-51"></span></li><li>Implement A5/2 crack (the weaker of both algo
rithms) <span class="anchor" id="line-52"></span></li><li>Implement one of the m
any A5/1 cracks from the academic papers <span class="anchor" id="line-53"></spa
n></li><li>Research and Implement new ways to crack A5/1 <span class="anchor" id
="line-54"></span><span class="anchor" id="line-55"></span></li></ol><p class="l
ine874">Our ultimate goal is to crack A5/1: <span class="anchor" id="line-56"></
span><span class="anchor" id="line-57"></span></p><ol type="1"><li>by only inter
cepting data (passiv) <span class="anchor" id="line-58"></span></li><li>require
less than 4Terabyte HD. <span class="anchor" id="line-59"></span></li><li>able t
o decrypt short encrypted bursts (like SMS, last less than 0.1 seconds). <span c
lass="anchor" id="line-60"></span></li><li>Cracking time less than 1 day. <span
class="anchor" id="line-61"></span><span class="anchor" id="line-62"></span></li
></ol><p class="line867">
</p><h2 id="head-007e5fe318fb2b65630f695b6ac9fb3a3f6e01f8">6. A5 weakness</h2>
<span class="anchor" id="line-63"></span><span class="anchor" id="line-64"></spa
n><p class="line874">A5 is weak. That's A5/1 and A5/2. When you look at the algo
rithm it just gives you a bad feeling. <span class="anchor" id="line-65"></span>
</p><ol type="1"><li>The registers are to small <span class="anchor" id="line-66
"></span></li><li>The trap registers are all on one side <span class="anchor" id
="line-67"></span></li><li>The 3 LSFRs do not mix results amoung each other <spa
n class="anchor" id="line-68"></span></li><li>Protocol implementation is faulty:
An attacker can record all encrypted traffic. If the attacker gains access to t
he sim at any point in the future he can decrypt all traffic sniffed in the past
. This works by putting the sim card into a sim reader and running the gsm_runal
gorithm() function on the sim. The sim will decode any traffic without us knowin
g the Ki. This attack requires access to the sim for 30 seconds and can decode a
ny GSM converstation that happened in the past. <span class="anchor" id="line-69
"></span></li><li>etc etc etc <span class="anchor" id="line-70"></span><span cla
ss="anchor" id="line-71"></span></li></ol><p class="line862">I did a quick examp
le to visualize the entroypy. Crypto people love entropy. An easy way to visuali
ze the entropy is to generate a picture of the relationship between two, three o
r four successive numbers generated by the algorithm. Ideally we should not see
any structure. All pixels should be distributed randomly. <a class="http" href="
http://web.archive.org/web/20070805124756/http://lcamtuf.coredump.cx/newtcp/">lc
amtufs ISN analyzsis</a> explains more details about this method.<br>
<span class="anchor" id="line-72"></span><br>
<span class="anchor" id="line-73"></span>I use a matlab script to generate the
graphics. <a class="attachment" href="http://web.archive.org/web/20070805124756/
http://wiki.thc.org/cracking_a5?action=AttachFile&amp;do=get&amp;target=x.txt" t
itle="attachment:x.txt">x.txt</a> contains the output of the a5/1 key initializa
tion algorithm. <span class="anchor" id="line-74"></span><span class="anchor" id
="line-75"></span></p><pre>a = 0;
<span class="anchor" id="line-76"></span>b = 0;
<span class="anchor" id="line-77"></span>c = 0;
<span class="anchor" id="line-78"></span>d = 0;
<span class="anchor" id="line-79"></span>
<span class="anchor" id="line-80"></span>XD = 256;
<span class="anchor" id="line-81"></span>YD = 256;
<span class="anchor" id="line-82"></span>ZD = 256;
<span class="anchor" id="line-83"></span>
<span class="anchor" id="line-84"></span>M = dlmread('x.txt', ' ');
<span class="anchor" id="line-85"></span>V = M(2,2)
<span class="anchor" id="line-86"></span>I(1:((XD - 1) * 2), 1:((YD - 1) * 2)) =
0;
<span class="anchor" id="line-87"></span>for i=1:25600
<span class="anchor" id="line-88"></span> x = b - a; % -255 .. 255
<span class="anchor" id="line-89"></span> y = c - b; % -255 .. 255
<span class="anchor" id="line-90"></span> z = d - c; % -255 .. 255
<span class="anchor" id="line-91"></span> I(x + XD, y + YD) = cast(z + (Z
D - 1), 'double') / ((ZD-1) * 2);
<span class="anchor" id="line-92"></span> a = b;
<span class="anchor" id="line-93"></span> b = c;
<span class="anchor" id="line-94"></span> c = d;
<span class="anchor" id="line-95"></span> d = cast(mod(M(i, 1),256), 'int
16'); % val between 0..255
<span class="anchor" id="line-96"></span> %d = cast(rand(1,1) * XD, 'int1
6'); % val between 0..255
<span class="anchor" id="line-97"></span>end
<span class="anchor" id="line-98"></span>
<span class="anchor" id="line-99"></span>imshow(I);
<span class="anchor" id="line-100"></span></pre><span class="anchor" id="line-10
1"></span><span class="anchor" id="line-102"></span><p class="line867"><br>
<span class="anchor" id="line-103"></span>Figure 1: Key set to 0. <a class="non
existent" href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/Fr
ameNumber">FrameNumber</a> runs from 0-25600. We can see a structure. There is a
relationship between the key state with <a class="nonexistent" href="http://web
.archive.org/web/20070805124756/http://wiki.thc.org/FrameNumber">FrameNumber</a>
N and the key state with <a class="nonexistent" href="http://web.archive.org/we
b/20070805124756/http://wiki.thc.org/FrameNumber">FrameNumber</a> N - 1.<br>
<span class="anchor" id="line-104"></span><img class="attachment" src="http://w
eb.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5?action=AttachF
ile&amp;do=get&amp;target=key_0_fn_0-25600.png" title="attachment:key_0_fn_0-256
00.png"> <span class="anchor" id="line-105"></span><span class="anchor" id="line
-106"></span></p><p class="line874">TODO: add more. <span class="anchor" id="lin
e-107"></span>
</p><h2 id="head-cead03ef657be7117a86f0c700fa800dd694ff18">7. A5/GSM encryption
example</h2>
<span class="anchor" id="line-108"></span><span class="anchor" id="line-109"></s
pan><p class="line862">TODO: write down how a5 works and how the data looks that
is encrypted and what the first encrypted message from/to basestation is and wh
ich bits are static/known/guessable.<br>
<span class="anchor" id="line-110"></span><br>
<span class="anchor" id="line-111"></span>The Frame Number (FN) wrapps around e
very 3h 28min 53 sec and 750ms.<br>
<span class="anchor" id="line-112"></span><br>
<span class="anchor" id="line-113"></span>A layer 1 GSM message is 23 octet lon
g. It is padded with 0x2b if less than 23 octet content data are to be send.<br>
<span class="anchor" id="line-114"></span><br>
<span class="anchor" id="line-115"></span>How to encode 1 GSM message (after pa
dding): <span class="anchor" id="line-116"></span><span class="anchor" id="line-
117"></span></p><ol type="1"><li><p class="line862">23 * 8 = 184 bit content dat
a per GSM message. [<strong>Output: 184 bit</strong>] <span class="anchor" id="l
ine-118"></span></p></li><li><p class="line862">Add 40 bit fire code (crc) and 4
bit tail (0x00). [<strong>Output: 228 bit</strong>] <span class="anchor" id="li
ne-119"></span></p></li><li><p class="line862">Convolutional encode the 228 bit.
This duplicates the number of (known) bits. [<strong>Output: 456 bit</strong>]
<span class="anchor" id="line-120"></span></p></li><li><p class="line862">Interl
eave the 456 bit. [<strong>Output: 456 bit</strong>] <span class="anchor" id="li
ne-121"></span></p></li><li><p class="line862">Chop the 456 bit into 8 packs, ea
ch 57 bit long. Take the first two 57 bit chunks and send them in the first GSM
burst. The 3rd and 4th are send in the second GSM burst and so on and so on.[<st
rong>Output: 4x114 bit</strong>] <span class="anchor" id="line-122"></span></p><
/li><li>The frame number is known and incremented for each GSM burst. A5 is rein
itialized for _each_ burst. This means each burst is encoded under the same Kc b
ut under a different frame number. The A5 state is thus different for each GSM b
urst. <span class="anchor" id="line-123"></span><span class="anchor" id="line-12
4"></span><span class="anchor" id="line-125"></span></li></ol><p class="line874"
>First encrypted message send from MS to BTS is 'Ciphering Mode Complete': <span
class="anchor" id="line-126"></span><span class="anchor" id="line-127"></span><
/p><pre>000: ?? ?? ?? 06 32 2b 2b 2b - 2b 2b 2b 2b 2b 2b 2b 2b
<span class="anchor" id="line-128"></span>001: 2b 2b 2b 2b 2b 2b 2b
<span class="anchor" id="line-129"></span> 0: ?? -------1 Extended Address: 1
octet long
<span class="anchor" id="line-130"></span> 0: ?? ------0- C/R: Response
<span class="anchor" id="line-131"></span> 0: ?? ---000-- SAPI: RR, MM and CC
<span class="anchor" id="line-132"></span> 0: ?? -00----- Link Protocol Disci
minator: GSM (not Cell Broadcasting)
<span class="anchor" id="line-133"></span> 1: ?? ------01 Supvervisory Frame
<span class="anchor" id="line-134"></span> 1: ?? ----00-- RR Frame (Receive r
eady)
<span class="anchor" id="line-135"></span> 1: ?? ---0---- Poll/Final bit (P/F
)
<span class="anchor" id="line-136"></span> 1: ?? 000----- N(R), Retransmissio
n counter: 0
<span class="anchor" id="line-137"></span> 2: ?? -------0 EL, Extended Length
: n
<span class="anchor" id="line-138"></span> 2: ?? ------0- M, segmentation: N
<span class="anchor" id="line-139"></span> 2: ?? 000010-- Length: 2
<span class="anchor" id="line-140"></span> 3: 06 0------- Direction: From ori
ginating site
<span class="anchor" id="line-141"></span> 3: 06 -000---- 0 TransactionID
<span class="anchor" id="line-142"></span> 3: 06 ----0110 Radio Resouce Manag
ement
<span class="anchor" id="line-143"></span> 4: 32 00110010 RR Cipher Mode Comp
lete
<span class="anchor" id="line-144"></span></pre><span class="anchor" id="line-14
5"></span><p class="line874">This message tells the BTS to start ciphering. The
first encrypted message send from the BTS to the MS is either a MMIdentityReques
t followed by a empty GSM message or a empty GSM message. Both of them contain p
lenty known plaintext: The 0x2b GSM message padding octet. <span class="anchor"
id="line-146"></span><span class="anchor" id="line-147"></span></p><p class="lin
e867"><span class="anchor" id="line-148"></span></p><pre>000: 03 42 0d 05 18 03
2b 2b - 2b 2b 2b 2b 2b 2b 2b 2b
<span class="anchor" id="line-149"></span>001: 2b 2b 2b 2b 2b 2b 2b
<span class="anchor" id="line-150"></span> 0: 03 -------1 Extended Address: 1
octet long
<span class="anchor" id="line-151"></span> 0: 03 ------1- C/R: Command
<span class="anchor" id="line-152"></span> 0: 03 ---000-- SAPI: RR, MM and CC
<span class="anchor" id="line-153"></span> 0: 03 -00----- Link Protocol Disci
minator: GSM (not Cell Broadcasting)
<span class="anchor" id="line-154"></span> 1: 42 -------0 Information Frame
<span class="anchor" id="line-155"></span> 1: 42 ----001- N(S), Sequence coun
ter: 1
<span class="anchor" id="line-156"></span> 1: 42 ---0---- P
<span class="anchor" id="line-157"></span> 1: 42 010----- N(R), Retransmissio
n counter: 2
<span class="anchor" id="line-158"></span> 2: 0d -------1 EL, Extended Length
: y
<span class="anchor" id="line-159"></span> 2: 0d ------0- M, segmentation: N
<span class="anchor" id="line-160"></span> 2: 0d 000011-- Length: 3
<span class="anchor" id="line-161"></span> 3: 05 0------- Direction: From ori
ginating site
<span class="anchor" id="line-162"></span> 3: 05 -000---- 0 TransactionID
<span class="anchor" id="line-163"></span> 3: 05 ----0101 Mobile Management M
essage (non GPRS)
<span class="anchor" id="line-164"></span> 4: 18 00------ SendSequenceNumber:
0
<span class="anchor" id="line-165"></span> 4: 18 --011000 MMIdentidyRequest
<span class="anchor" id="line-166"></span> 5: 03 -----011 IMEISV
<span class="anchor" id="line-167"></span></pre><span class="anchor" id="line-16
8"></span><span class="anchor" id="line-169"></span><p class="line874">or <span
class="anchor" id="line-170"></span><span class="anchor" id="line-171"></span></
p><pre>000: 03 03 01 2b 2b 2b 2b 2b - 2b 2b 2b 2b 2b 2b 2b 2b
<span class="anchor" id="line-172"></span>001: 2b 2b 2b 2b 2b 2b 2b
<span class="anchor" id="line-173"></span> 0: 03 -------1 Extended Address: 1
octet long
<span class="anchor" id="line-174"></span> 0: 03 ------1- C/R: Command
<span class="anchor" id="line-175"></span> 0: 03 ---000-- SAPI: RR, MM and CC
<span class="anchor" id="line-176"></span> 0: 03 -00----- Link Protocol Disci
minator: GSM (not Cell Broadcasting)
<span class="anchor" id="line-177"></span> 1: 03 ------11 Unnumbered Frame
<span class="anchor" id="line-178"></span> 1: 03 ---0---- P
<span class="anchor" id="line-179"></span> 1: 03 000-00-- UI frame (Unnumbere
d information)
<span class="anchor" id="line-180"></span> 2: 01 -------1 EL, Extended Length
: y
<span class="anchor" id="line-181"></span> 2: 01 ------0- M, segmentation: N
<span class="anchor" id="line-182"></span> 2: 01 000000-- Length: 0
<span class="anchor" id="line-183"></span></pre><span class="anchor" id="line-18
4"></span><span class="anchor" id="line-185"></span><span class="anchor" id="lin
e-186"></span><p class="line867">
</p><h2 id="head-64138c5686aa40d8ab04efd92443b956f8e69ca7">8. Misc Ideas</h2>
<span class="anchor" id="line-187"></span><span class="anchor" id="line-188"></s
pan><ol type="1"><li>Shall we do a brute force with FPGA or do a smart attack as
outlined in the 2001 paper? <span class="anchor" id="line-189"></span></li><li>
Can we use the weakness in A8/A3 to calculate Kc for A5/1? <span class="anchor"
id="line-190"></span></li><li>What happened to the cypherpunks mailinglist? The
LNE links seem to be down! Anyone? <span class="anchor" id="line-191"></span></l
i><li>I'm not concerned if we need 50 FPGA's or 4TB or harddrives. Some people s
ay that it's not practical to carry 4TB of harddrives in a rucksack. We can alwa
ys host the solution and when on a cracking mission the challenge can be send (v
ia sms?) to the hosted Cracking Server which sends the results back after a coup
le of seconds. <span class="anchor" id="line-192"></span></li><li>Can we devide
the A5/1 cracking problems into smaller problems and solve each on its own? This
means finding a new attack against A5/1. <span class="anchor" id="line-193"></s
pan><span class="anchor" id="line-194"></span></li></ol><p class="line867">
</p><h3 id="head-0b6672496f7fb9dc098eaced6f1f86739d562331">8.1. FPGA Ideas</h3>
<span class="anchor" id="line-195"></span><span class="anchor" id="line-196"></s
pan><p class="line867">
</p><h4 id="head-a49771d908eed356d014f74742604fa9af73d44b">8.1.1. Brute Force</h
4>
<span class="anchor" id="line-197"></span><span class="anchor" id="line-198"></s
pan><p class="line862">Some initial thoughts on A5/1 and FPGA. All this needs to
be calculated more precisely.<br>
<span class="anchor" id="line-199"></span><br>
<span class="anchor" id="line-200"></span>Each clock cycle the A5 implementatio
n should output 64 bit of streamcipher. We can put multiple A5 implementations o
n the same FPGA chip. The calculation is based on a pipelined implementation of
A5.<br>
<span class="anchor" id="line-201"></span><br>
<span class="anchor" id="line-202"></span>The three LSFR registers are in total
19 + 22 + 23 = 64bit long. The first LSFR requires 5 Logical Units (LU's, e.g x
or). The second requires 3 LU's and the last one requires 5 LU's. All together 1
3 LU's and 64 bit. <span class="anchor" id="line-203"></span>The Trap register a
dd's 1 LU per LSFR. Makes 16 LU's and 64bit.<br>
<span class="anchor" id="line-204"></span><br>
<span class="anchor" id="line-205"></span>Generating the state (with key and <a
class="nonexistent" href="http://web.archive.org/web/20070805124756/http://wiki
.thc.org/FrameNumber">FrameNumber</a> (FN)) requires 64 + 22 = 88 steps. This is
followed by another 100 cycles. Each of the 100 cycles requires 1 LU less per L
SFR. After these 100 cycles we want to generate about 64 bit of output (e.g. eno
ther 64 cycles). <span class="anchor" id="line-206"></span><span class="anchor"
id="line-207"></span></p><ol type="1"><li>LU's: 16 * 88 + 13 * 100 + 13 * 64 = 3
540 <span class="anchor" id="line-208"></span></li><li>Registers: 64 * 88 + 64 *
100 + 64 * 64 = 16128 <span class="anchor" id="line-209"></span><span class="an
chor" id="line-210"></span></li></ol><p class="line862">After 88 + 100 + 64 cycl
es we will start seeing 64 bit of stream cipher output for each cycle.<br>
<span class="anchor" id="line-211"></span><br>
<span class="anchor" id="line-212"></span>This is all not optimized. We do not
need the first 9 steps because the Tap register only start at bit 8. we also do
not need all the LU's or registers for the first 18 steps because the first LSFR
is not fully used until step 18. Same for the last 64 steps. For each of the la
st 64 steps we only need 2 LU's and 1 register less for each step.<br>
<span class="anchor" id="line-213"></span><span class="anchor" id="line-214"></
span></p><p class="line862">We decided to use Xilinx. Altera is a good choice as
well but at the moment most of us worked with xilinx before.<br>
<span class="anchor" id="line-215"></span><br>
<span class="anchor" id="line-216"></span>The Virtex-5 from Xilinx LX330 has 33
0.000 LU's and runs at 500 Mhz. That brings us down to 4 days per development bo
ard?! But the boards and chips are to expensive. Better to stick with LX50. <spa
n class="anchor" id="line-217"></span><span class="anchor" id="line-218"></span>
</p><p class="line867">
</p><h4 id="head-134aa5cf71ade84b3cd069cc3389a612b87736de">8.1.2. Brute Force II
</h4>
<span class="anchor" id="line-219"></span><span class="anchor" id="line-220"></s
pan><p class="line862">Some more precise calculation by David Hulton:[[BR]] <spa
n class="anchor" id="line-221"></span>The LX50 can run at 200-300Mhz and cost $3
00 each (just the chip, without dev board). <span class="anchor" id="line-222"><
/span>I pipelined my version of A5/1 and came up with some rough numbers on <spa
n class="anchor" id="line-223"></span>the Virtex-5 LX50. This is purely just com
puting the 186 clock cycles <span class="anchor" id="line-224"></span>for setup
and only computing a single bit of output from the pipeline <span class="anchor"
id="line-225"></span>on each clock cycle. I'm sure we could optimize it a littl
e bit but <span class="anchor" id="line-226"></span>once we factor in the overhe
ad of doing the key compares and other <span class="anchor" id="line-227"></span
>bridge code it probably won't be much less than the numbers here.. <span class=
"anchor" id="line-228"></span><span class="anchor" id="line-229"></span></p><p c
lass="line874">With this design, we will probably only be able to fit 4 fully <s
pan class="anchor" id="line-230"></span>pipelined instances of A5/1 on here unle
ss we can hand-optimize the <span class="anchor" id="line-231"></span>placement
better than the Xilinx tools and code in some of the <span class="anchor" id="li
ne-232"></span>shortcuts that you mentioned on the a5 cracking page. I'll work o
n <span class="anchor" id="line-233"></span>this a bit more and see if I can red
uce the logic down. <span class="anchor" id="line-234"></span><span class="ancho
r" id="line-235"></span></p><pre>Slice Logic Utilization:
<span class="anchor" id="line-236"></span> Number of Slice Registers:
7,289 out of 28,800 25%
<span class="anchor" id="line-237"></span> Number used as Flip Flops:
7,289
<span class="anchor" id="line-238"></span> Number of Slice LUTs:
6,968 out of 28,800 24%
<span class="anchor" id="line-239"></span> Number used as logic:
6,566 out of 28,800 22%
<span class="anchor" id="line-240"></span> Number using O6 output only:
6,566
<span class="anchor" id="line-241"></span> Number used as Memory:
402 out of 7,680 5%
<span class="anchor" id="line-242"></span> Number used as Shift Register:
402
<span class="anchor" id="line-243"></span> Number using O6 output only:
402
<span class="anchor" id="line-244"></span>
<span class="anchor" id="line-245"></span>Slice Logic Distribution:
<span class="anchor" id="line-246"></span> Number of occupied Slices:
2,670 out of 7,200 37%
<span class="anchor" id="line-247"></span> Number of LUT Flip Flop pairs used:
7,292
<span class="anchor" id="line-248"></span> Number with an unused Flip Flop:
3 out of 7,292 1%
<span class="anchor" id="line-249"></span> Number with an unused LUT:
324 out of 7,292 4%
<span class="anchor" id="line-250"></span> Number of fully used LUT-FF pairs:
6,965 out of 7,292 95%
<span class="anchor" id="line-251"></span> Number of unique control sets:
2
<span class="anchor" id="line-252"></span>
<span class="anchor" id="line-253"></span> A LUT Flip Flop pair for this archit
ecture represents one LUT paired with
<span class="anchor" id="line-254"></span> one Flip Flop within a slice. A con
trol set is a unique combination of
<span class="anchor" id="line-255"></span> clock, reset, set, and enable signal
s for a registered element.
<span class="anchor" id="line-256"></span> The Slice Logic Distribution report
is not meaningful if the design is
<span class="anchor" id="line-257"></span> over-mapped for a non-slice resource
or if Placement fails.
<span class="anchor" id="line-258"></span>
<span class="anchor" id="line-259"></span>IO Utilization:
<span class="anchor" id="line-260"></span> Number of bonded IOBs:
88 out of 220 40%
<span class="anchor" id="line-261"></span>
<span class="anchor" id="line-262"></span>Specific Feature Utilization:
<span class="anchor" id="line-263"></span> Number of BUFG/BUFGCTRLs:
1 out of 32 3%
<span class="anchor" id="line-264"></span> Number used as BUFGs:
1
<span class="anchor" id="line-265"></span>
<span class="anchor" id="line-266"></span>Total equivalent gate count for design
: 155,730
<span class="anchor" id="line-267"></span>Additional JTAG gate count for IOBs:
4,224
<span class="anchor" id="line-268"></span></pre><span class="anchor" id="line-26
9"></span><span class="anchor" id="line-270"></span><p class="line867">
</p><h4 id="head-4444aa665c6ed6b1836492327e614325e271c683">8.1.3. possible board
s</h4>
<span class="anchor" id="line-271"></span><span class="anchor" id="line-272"></s
pan><ul><li><p class="line891"><a class="http" href="http://web.archive.org/web/
20070805124756/http://www.nuhorizons.com/xilinx/boards/virtex-5/ML501/index.asp"
>ML501 Xlinix LX50</a> ($955) <span class="anchor" id="line-273"></span></p></li
><li><p class="line891"><a class="http" href="http://web.archive.org/web/2007080
5124756/http://www.picocomputing.com/documentation/E-16.php">PicoComputing E-16
LX50</a> ($2.000) <span class="anchor" id="line-274"></span><span class="anchor"
id="line-275"></span></p></li></ul><p class="line874">The LX330 boards cost $5.
000. Because we can put 4x more a5/1 implementations on them and they run 6.6x f
aster it might be worth it. <span class="anchor" id="line-276"></span><span clas
s="anchor" id="line-277"></span></p><p class="line867">
</p><h3 id="head-9c5e6cbfcfefe22a276f73d51d72cdcb97167c22">8.2. Rainbow Table</h
3>
<span class="anchor" id="line-278"></span><span class="anchor" id="line-279"></s
pan><p class="line862">Traditional rainbow tables take the key as input. Our key
is 88 bit (of which the last 22 bit are the known Frame Number). We can not gen
erate a rainbox table for 2^88 key combinations.<br>
<span class="anchor" id="line-280"></span><br>
<span class="anchor" id="line-281"></span><span class="anchor" id="line-282"></
span></p><p class="line867">
</p><h4 id="head-89691ba2a57e2e3a59280748a5428ac5f7c742ee">8.2.1. Idea I</h4>
<span class="anchor" id="line-283"></span><p class="line862">The state table of
all 3 LSFR's combined is just 64 bit. The A5 initialization process (e.g. seedin
g in key + FN and mixing it 100 cycles) is reverseable. Thus once we know the ke
y state we can compute the key easily. Generating rainbow tables for 64 bit keys
is difficult (TODO: calculate how difficult and how many FPGA's required).<br>
<span class="anchor" id="line-284"></span><br>
<span class="anchor" id="line-285"></span>This attack would work regardless of
the frame number and regardless of the key length (54, 64 or 128 bit). It also u
ses less LU's than the normal key brute force implementation.<br>
<span class="anchor" id="line-286"></span><br>
<span class="anchor" id="line-287"></span>All 3 LSFR can be stuck together to g
et one 64bit register: | R1 19bit | R2 22bit | R3 23bit |<br>
<span class="anchor" id="line-288"></span><span class="anchor" id="line-289"></
span></p><p class="line874">Rought idea of generating rainbow table with 2^36 ta
bles: <span class="anchor" id="line-290"></span></p><ol type="1"><li>Start with
key state bit 35..0 is set to 0000..001. Bit 63..36 is set to 0. <span class="an
chor" id="line-291"></span></li><li><p class="line891"><a class="nonexistent" hr
ef="http://web.archive.org/web/20070805124756/http://wiki.thc.org/RainbowtableNu
mber">RainbowtableNumber</a>++; Entries = 0; <span class="anchor" id="line-292">
</span></p></li><li>Calculate 64bit output from this keystate. Entries++; <span
class="anchor" id="line-293"></span></li><li>If output's bit 63..36 are all 0 th
en stop this rainbow table. Otherwise take 64 bit usefull output and use this ou
tput as state. Repeat 3. <span class="anchor" id="line-294"></span></li><li>Incr
ement value in bit 35..0 by 1 (e.g. start next rainbow table). Repeast 2. <span
class="anchor" id="line-295"></span><span class="anchor" id="line-296"></span></
li></ol><p class="line874">Problems: <span class="anchor" id="line-297"></span><
/p><ol type="1"><li>What happens if we never hit a state that has bit 63..36 to
all 0s (e.g. if we are stuck in a loop)? Break loop after a maximum number of it
erations and call it an 'unlucky' rainbow table which is handles specially? <spa
n class="anchor" id="line-298"></span></li><li>Using bit 63..36 is just an examp
le. In fact any number of bits (in sequence or not in sequence) can be used. <sp
an class="anchor" id="line-299"></span><span class="anchor" id="line-300"></span
></li></ol><p class="line867">
</p><h4 id="head-fd131e7cc4e883d35f1fd1c5d606033a20a49458">8.2.2. Idea II</h4>
<span class="anchor" id="line-301"></span><p class="line862">(This Idea is now o
bsolete)<br>
<span class="anchor" id="line-302"></span>Maybe it's enough to generate a rainb
ow table for <a class="nonexistent" href="http://web.archive.org/web/20070805124
756/http://wiki.thc.org/FrameNumber">FrameNumber</a> 0. Calculating all 2**54 ke
ys with an FPGA and generating a rainbow tables is a matter of days (e.g. possib
le). Can a rainbow table generated with <a class="nonexistent" href="http://web.
archive.org/web/20070805124756/http://wiki.thc.org/FrameNumber">FrameNumber</a>
== 0 be used to decrypt packets that do not have Frame Number set to 0? <span cl
ass="anchor" id="line-303"></span><span class="anchor" id="line-304"></span></p>
<p class="line867">
</p><h4 id="head-a7b483518faf009b7d7d0e06fe3a08eb7f47d812">8.2.3. Idea III</h4>
<span class="anchor" id="line-305"></span><p class="line874">Is it possible to r
educe a LSFR register? By this i mean exist there a shorter LSFR register that w
ould produce the same <span class="anchor" id="line-306"></span>output (for a ce
rtain class of keys)? <span class="anchor" id="line-307"></span><span class="anc
hor" id="line-308"></span></p><p class="line867">
</p><h4 id="head-e467ef380130611b7af25da4d8367e23d5df2810">8.2.4. Idea IV</h4>
<span class="anchor" id="line-309"></span><p class="line862">We do not need to g
enerate rainbow tables for all possible keystates. Let's assume we generate rain
bow tables for 1/4 of all keystates (e.g 62bit). If we sniff 64 bit known plaint
ext our chances that we can crack it with the rainbow table is 25%.<br>
<span class="anchor" id="line-310"></span><br>
<span class="anchor" id="line-311"></span>A5 is reversable: Let N be the index
of current working bit of the A5 algorithm (e.g. after N bits of output have bee
n produced and N bit of plaintext have been encrypted). Let keystate(N) be the s
tate of the keystate after N bits have been produced. Let plaintext(N) be the N-
th bit of the plaintext. It is possible to calculate keystate(N-1) if keystate(N
) and plaintext(0..N) is known.<br>
<span class="anchor" id="line-312"></span><br>
<span class="anchor" id="line-313"></span>Let's assume we know 65 bit of plaint
ext. We first try to find a match in the rainbow table for bit 0..63 and then we
try to find a match for bit 1..64. The probability for 65 bit known plaintext i
t is already 1 - (3/4)**(65 - 64 + 1) = 43.75%. For 80 bit known plaintext it is
1 - (3/4)**(80 - 64 + 1) = 98.997%.<br>
<span class="anchor" id="line-314"></span><br>
<span class="anchor" id="line-315"></span>Let's get this further down: Generate
1/64 of all rainbow tables (which makes it a 58bit problem): If we get 128 bit
of known plaintext our chances of decoding it are 1 - (63/64)**(128 - 64 + 1) ==
64% or 95% if 256 bit of plaintext are known.<br>
<span class="anchor" id="line-316"></span><br>
<span class="anchor" id="line-317"></span>The maximum number of bits that are e
ncrypted under the same keystate is 114. There are 4 bursts of 114 bit and the p
laintext of each of the bursts is known. For each burst the propability of crack
ing it with only 1/64th of the rainbow table is: <br>
<span class="anchor" id="line-318"></span>1-(63/64)^(114 - 64 + 1) = 55.2%<br>
Considering that we have a 55.2% chance for each of the 4 burst:<br>
<span class="anchor" id="line-319"></span>1 - (1 - 0.552)**4 = 95.97%<br>
<span class="anchor" id="line-320"></span><br>
<span class="anchor" id="line-321"></span>Limitation: It is obivous that this i
s working if we are dealing with successive bits of plaintext. It is less obviou
s that this also works as long as the 65 bit plaintext as distributed equaly (FI
XME: can we optimize this?). <span class="anchor" id="line-322"></span></p><ol t
ype="1"><li>Does NOT work: bit 0..63 in one sequence followed by some unknown pl
aintext followed by bit 64 of known plaintext. <span class="anchor" id="line-323
"></span></li><li>DOES work: plaintext bit 0 followed by 1 unknown plaintext bit
followed by known plaintext bit 1, followed by unknown plaintext bit followed b
y known plaintext bit 2, ... until 64. <span class="anchor" id="line-324"></span
><span class="anchor" id="line-325"></span></li></ol><p class="line874">Further
optimization: <span class="anchor" id="line-326"></span></p><ol type="1"><li>Do
this over multiple messages (e.g. if we know 128 bit in the first packet and ano
ther 128 bit in the second message it dramaticaly increases our chances of findi
ng the key state in one of our rainbow tables). <span class="anchor" id="line-3
27"></span></li><li>Remember that for each message the BTS sends the MS also sen
ds a message. Again, increasing our chances. <span class="anchor" id="line-328">
</span><span class="anchor" id="line-329"></span></li></ol><p class="line867">
</p><h4 id="head-49297a2b6d698aca3e26a7b9519a1adf7f0ec9d3">8.2.5. Idea V</h4>
<span class="anchor" id="line-330"></span><span class="anchor" id="line-331"></s
pan><p class="line862">We have known plaintext. The first encrypted message send
from the BTS to the MS is amost all 0x2b (except for the first three octets). T
his means we can implement the attack by Anderson and Roe: Guessing the 41 bit i
n the shorter R1 and R2 registers, and deriving the 23bit of the longer R3 regis
ter from the output.<br>
<span class="anchor" id="line-332"></span><br>
<span class="anchor" id="line-333"></span>Anderson and Roe's attack is further
described in <a class="http" href="http://web.archive.org/web/20070805124756/htt
p://pv.fernuni-hagen.de/docs/apc2001-final.pdf">A5/1 FPGA cracking</a>.<br>
<br>
<span class="anchor" id="line-334"></span>Calculating Rainbow tables for this i
s the next challenge. Combing this with Idea IV makes it a 41-6 = 35 bit problem
. <span class="anchor" id="line-335"></span><span class="anchor" id="line-336"><
/span></p><p class="line867">
</p><h4 id="head-91dcce4dee091ed0c78fcaccabbfc2aa8ff890b8">8.2.6. Idea VI</h4>
<span class="anchor" id="line-337"></span><span class="anchor" id="line-338"></s
pan><p class="line874">Are there 'useless' bits in R2? It only has two trap regi
sters. Does this help us calculating the value of others? <span class="anchor" i
d="line-339"></span><span class="anchor" id="line-340"></span></p><p class="line
867">
</p><h2 id="head-a676f72cda6831833ec866338e6f277bc058b1a7">9. Resources</h2>
<span class="anchor" id="line-341"></span><span class="anchor" id="line-342"></s
pan><ol type="1"><li><p class="line891"><a class="attachment" href="http://web.a
rchive.org/web/20070805124756/http://wiki.thc.org/cracking_a5?action=AttachFile&
amp;do=get&amp;target=CS-2006-07-cracking-a5.pdf" title="attachment:CS-2006-07-c
racking-a5.pdf">CS-2006-07-cracking-a5.pdf</a> Barkan, Biham and Keller. Most re
cent research paper about cracking A5/1. <span class="anchor" id="line-343"></sp
an></p></li><li><p class="line891"><a class="attachment" href="http://web.archiv
e.org/web/20070805124756/http://wiki.thc.org/cracking_a5?action=AttachFile&amp;d
o=get&amp;target=PHD-2006-04.pdf" title="attachment:PHD-2006-04.pdf">PHD-2006-04
.pdf</a> Elad Pinhas Barkan, Cryptoanalyzis of Ciphers (A5, Rainbow tables) <spa
n class="anchor" id="line-344"></span></p></li><li><p class="line891"><a class="
attachment" href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/
cracking_a5?action=AttachFile&amp;do=get&amp;target=GsmSecurity.pdf" title="atta
chment:GsmSecurity.pdf">GsmSecurity.pdf</a> 15 Dec 2006, Stausholm, Dahl. Explai
ning A5 and different attack vectors. <span class="anchor" id="line-345"></span>
</p></li><li><p class="line891"><a class="http" href="http://web.archive.org/web
/20070805124756/http://cryptome.org/a51-bsw.htm">2000, Biryukov, Shamir, Wagner
(WWW)</a>. (<a class="attachment" href="http://web.archive.org/web/2007080512475
6/http://wiki.thc.org/cracking_a5?action=AttachFile&amp;do=get&amp;target=biryuk
ov00real.pdf" title="attachment:biryukov00real.pdf">PDF</a>) Real Time Cryptanal
ysis of A5/1 on a PC. <span class="anchor" id="line-346"></span></p></li><li><p
class="line891"><a class="http" href="http://web.archive.org/web/20070805124756/
http://homes.esat.kuleuven.be/%7Eabiryuko/sac05_tradeoff_multiple_data.pdf">Time
/Memory/Data Trade-off Attacks</a> <span class="anchor" id="line-347"></span></p
></li><li><p class="line891"><a class="http" href="http://web.archive.org/web/20
070805124756/http://pv.fernuni-hagen.de/docs/apc2001-final.pdf">A5/1 FPGA crack<
/a> <span class="anchor" id="line-348"></span></p></li><li><p class="line891"><a
class="attachment" href="http://web.archive.org/web/20070805124756/http://wiki.
thc.org/cracking_a5?action=AttachFile&amp;do=get&amp;target=ekdahl-03-a51a.pdf"
title="attachment:ekdahl-03-a51a.pdf">ekdahl-03-a51a.pdf</a> Different Attack. R
equires 2-5 mins of data. Not practical but good A5 explanation. <span class="an
chor" id="line-349"></span></p></li><li><p class="line891"><a class="attachment"
href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5
?action=AttachFile&amp;do=get&amp;target=a5_implementation.htm" title="attachmen
t:a5_implementation.htm">Ross Anderson</a> original email posting. <span class="
anchor" id="line-350"></span></p></li><li><p class="line891"><a class="attachmen
t" href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_
a5?action=AttachFile&amp;do=get&amp;target=a5-1-2.c" title="attachment:a5-1-2.c"
>a5-1-2.c</a> Most recent A5/1 and A5/2 implementation by Marc Briceno. <span cl
ass="anchor" id="line-351"></span></p></li><li><p class="line891"><a class="atta
chment" href="http://web.archive.org/web/20070805124756/http://wiki.thc.org/crac
king_a5?action=AttachFile&amp;do=get&amp;target=a3a8.txt" title="attachment:a3a8
.txt">a3a8.txt</a> A3 and A8 implementation by Briceno, Goldberg and Wagner. <sp
an class="anchor" id="line-352"></span></p></li><li><p class="line891"><a class=
"http" href="http://web.archive.org/web/20070805124756/http://www.gsmworld.com/u
sing/algorithms/index.shtml">A5/3 and 3G algorithm</a>. <span class="anchor" id=
"line-353"></span><span class="anchor" id="line-354"></span></p></li></ol><p cla
ss="line867">
</p><h3 id="head-dfd0c5819f60ebc0728549f621229dabe9175857">9.1. List of used enc
ryption around the World</h3>
<span class="anchor" id="line-355"></span><span class="anchor" id="line-356"></s
pan><p class="line862">Known GSM Netowrk Encryption usage<br>
<span class="anchor" id="line-357"></span>Version 1.12 8th December 2005<br>
<span class="anchor" id="line-358"></span><a class="attachment" href="http://we
b.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5?action=AttachFi
le&amp;do=get&amp;target=gsm_network_encryption_list.csv" title="attachment:gsm_
network_encryption_list.csv">gsm_network_encryption_list.csv</a><br>
<span class="anchor" id="line-359"></span>If you have updates (what about Franc
e??) please send an email to steve at segfault.net. <span class="anchor" id="lin
e-360"></span><span class="anchor" id="line-361"></span></p><div><table><tbody><
tr> <td><p class="line862">MCC</p></td>
<td><p class="line862">Country</p></td>
<td><p class="line862">MNC</p></td>
<td><p class="line862">Network</p></td>
<td><p class="line862">Crypto</p></td>
<td><p class="line862">Date &amp; City</p></td>
<td><p class="line862">Comments</p></td>
</tr>
<tr> <td><span class="anchor" id="line-362"></span><p class="line862">204</p></
td>
<td><p class="line862">Netherlands</p></td>
<td><p class="line862">4</p></td>
<td><p class="line862">Vodafone</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-363"></span><p class="line862">204</p></
td>
<td><p class="line862">Netherlands</p></td>
<td><p class="line862">8</p></td>
<td><p class="line862">KPN</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-364"></span><p class="line862">204</p></
td>
<td><p class="line862">Netherlands</p></td>
<td><p class="line862">16</p></td>
<td><p class="line862">T-Mobile</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-365"></span><p class="line862">204</p></
td>
<td><p class="line862">Netherlands</p></td>
<td><p class="line862">12</p></td>
<td><p class="line862">O2</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-366"></span><p class="line862">204</p></
td>
<td><p class="line862">Netherlands</p></td>
<td><p class="line862">20</p></td>
<td><p class="line862">Orange</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-367"></span><p class="line862">206</p></
td>
<td><p class="line862">Belgium</p></td>
<td><p class="line862">1</p></td>
<td><p class="line862">Proximus</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-368"></span><p class="line862">206</p></
td>
<td><p class="line862">Belgium</p></td>
<td><p class="line862">10</p></td>
<td><p class="line862">Mobilstar</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-369"></span><p class="line862">206</p></
td>
<td><p class="line862">Belgium</p></td>
<td><p class="line862">20</p></td>
<td><p class="line862">Base</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-370"></span><p class="line862">208</p></
td>
<td><p class="line862">France</p></td>
<td><p class="line862">10F</p></td>
<td><p class="line862">SFR</p></td>
<td><p class="line862">A5/1, A5/0</p></td>
<td><p class="line862">2007-05-25 Grenoble</p></td>
<td><p class="line862">A5/1 for TCH, A5/0 for SMS</p></td>
</tr>
<tr> <td><span class="anchor" id="line-371"></span><p class="line862">214</p></
td>
<td><p class="line862">Spain</p></td>
<td><p class="line862">1</p></td>
<td><p class="line862">Vodafone</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-372"></span><p class="line862">214</p></
td>
<td><p class="line862">Spain</p></td>
<td><p class="line862">3</p></td>
<td><p class="line862">Amena</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-373"></span><p class="line862">214</p></
td>
<td><p class="line862">Spain</p></td>
<td><p class="line862">7</p></td>
<td><p class="line862">Movistar</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-374"></span><p class="line862">222</p></
td>
<td><p class="line862">Italy</p></td>
<td><p class="line862">1</p></td>
<td><p class="line862">TIM</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-375"></span><p class="line862">222</p></
td>
<td><p class="line862">Italy</p></td>
<td><p class="line862">10</p></td>
<td><p class="line862">Vodafone</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-376"></span><p class="line862">234</p></
td>
<td><p class="line862">United Kingdom</p></td>
<td><p class="line862">10</p></td>
<td><p class="line862">O2</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-377"></span><p class="line862">234</p></
td>
<td><p class="line862">United Kingdom</p></td>
<td><p class="line862">15</p></td>
<td><p class="line862">Vodafone</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-378"></span><p class="line862">234</p></
td>
<td><p class="line862">United Kingdom</p></td>
<td><p class="line862">30</p></td>
<td><p class="line862">T-Mobile</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-379"></span><p class="line862">234</p></
td>
<td><p class="line862">United Kingdom</p></td>
<td><p class="line862">33</p></td>
<td><p class="line862">Orange</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-380"></span><p class="line862">238</p></
td>
<td><p class="line862">Denmark</p></td>
<td><p class="line862">1</p></td>
<td><p class="line862">TDC</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-381"></span><p class="line862">242</p></
td>
<td><p class="line862">Norway</p></td>
<td><p class="line862">1</p></td>
<td><p class="line862">Telenor Mobil</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-382"></span><p class="line862">242</p></
td>
<td><p class="line862">Norway</p></td>
<td><p class="line862">2</p></td>
<td><p class="line862">Netcom</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-383"></span><p class="line862">250</p></
td>
<td><p class="line862">Russia</p></td>
<td><p class="line862">1</p></td>
<td><p class="line862">MTS</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-384"></span><p class="line862">250</p></
td>
<td><p class="line862">Russia</p></td>
<td><p class="line862">2</p></td>
<td><p class="line862">Megafon</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-385"></span><p class="line862">250</p></
td>
<td><p class="line862">Russia</p></td>
<td><p class="line862">99</p></td>
<td><p class="line862">Beeline</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-386"></span><p class="line862">262</p></
td>
<td><p class="line862">Germany</p></td>
<td><p class="line862">2</p></td>
<td><p class="line862">Vodafone</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-387"></span><p class="line862">262</p></
td>
<td><p class="line862">Germany</p></td>
<td><p class="line862">3</p></td>
<td><p class="line862">Eplus</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-388"></span><p class="line862">262</p></
td>
<td><p class="line862">Germany</p></td>
<td><p class="line862">7</p></td>
<td><p class="line862">O2</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-389"></span><p class="line862">272</p></
td>
<td><p class="line862">Ireland</p></td>
<td><p class="line862">2</p></td>
<td><p class="line862">O2</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-390"></span><p class="line862">293</p></
td>
<td><p class="line862">Slovenia</p></td>
<td><p class="line862">40</p></td>
<td><p class="line862">SI Mobil Vodafone</p></td>
<td><p class="line862">A5/2</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-391"></span><p class="line862">293</p></
td>
<td><p class="line862">Slovenia</p></td>
<td><p class="line862">41</p></td>
<td><p class="line862">SI Mobitel GSM</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-392"></span><p class="line862">293</p></
td>
<td><p class="line862">Slovenia</p></td>
<td><p class="line862">70</p></td>
<td><p class="line862">Vega</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-393"></span><p class="line862">404</p></
td>
<td><p class="line862">India</p></td>
<td><p class="line862">4</p></td>
<td><p class="line862">IDEA</p></td>
<td><p class="line862">A5/0</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-394"></span><p class="line862">404</p></
td>
<td><p class="line862">India</p></td>
<td><p class="line862">10</p></td>
<td><p class="line891"><a class="nonexistent" href="http://web.archive.org/web
/20070805124756/http://wiki.thc.org/AirTel">AirTel</a></p></td>
<td><p class="line862">A5/0</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-395"></span><p class="line862">404</p></
td>
<td><p class="line862">India</p></td>
<td><p class="line862">11</p></td>
<td><p class="line862">Essar</p></td>
<td><p class="line862">A5/0</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-396"></span><p class="line862">404</p></
td>
<td><p class="line862">India</p></td>
<td><p class="line862">20</p></td>
<td><p class="line862">Orange</p></td>
<td><p class="line862">A5/0</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-397"></span><p class="line862">404</p></
td>
<td><p class="line862">India</p></td>
<td><p class="line862">68</p></td>
<td><p class="line862">Dolphin</p></td>
<td><p class="line862">A5/0</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-398"></span><p class="line862">424</p></
td>
<td><p class="line862">United Arab Emirates</p></td>
<td><p class="line862">1</p></td>
<td><p class="line862">Etisalat</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-399"></span><p class="line862">505</p></
td>
<td><p class="line862">Australia</p></td>
<td><p class="line862">1</p></td>
<td><p class="line862">Telstra</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-400"></span><p class="line862">505</p></
td>
<td><p class="line862">Australia</p></td>
<td><p class="line862">2</p></td>
<td><p class="line862">Optus</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-401"></span><p class="line862">505</p></
td>
<td><p class="line862">Australia</p></td>
<td><p class="line862">3</p></td>
<td><p class="line862">Vodafone</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-402"></span><p class="line862">515</p></
td>
<td><p class="line862">Philippines</p></td>
<td><p class="line862">2</p></td>
<td><p class="line862">Globe</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-403"></span><p class="line862">515</p></
td>
<td><p class="line862">Philippines</p></td>
<td><p class="line862">3</p></td>
<td><p class="line862">Smart</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-404"></span><p class="line862">515</p></
td>
<td><p class="line862">Philippines</p></td>
<td><p class="line862">5</p></td>
<td><p class="line862">Sun</p></td>
<td><p class="line862">A5/1</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-405"></span><p class="line862">639</p></
td>
<td><p class="line862">Kenya</p></td>
<td><p class="line862">2</p></td>
<td><p class="line862">Safaricom</p></td>
<td><p class="line862">A5/2</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
<tr> <td><span class="anchor" id="line-406"></span><p class="line862">639</p></
td>
<td><p class="line862">Kenya</p></td>
<td><p class="line862">3</p></td>
<td><p class="line862">Celtel</p></td>
<td><p class="line862">A5/2</p></td>
<td><p class="line862"> </p></td>
<td><p class="line862"> </p></td>
</tr>
</tbody></table></div><span class="anchor" id="line-407"></span><p class="line87
4">Converting the CSV to wiki table: <span class="anchor" id="line-408"></span><
span class="anchor" id="line-409"></span></p><pre>cat gsm_network_encryption_lis
t.csv | sed 's/"//g' | while read x; do echo "||`echo "$x" | sed 's/,/||/g'`||";
done
<span class="anchor" id="line-410"></span></pre><span class="anchor" id="line-41
1"></span><span class="anchor" id="line-412"></span><p class="line874">History:
<span class="anchor" id="line-413"></span>When A5/1 came out mostly germany (as
the bordering country to the soviet block) wanted to implement strong encryption
. Other Nato members (led by france) were worried that the middle east would use
strong encryption. Thus they cut a deal to come up with a weaker version, A5/2.
These days both (A5/1 and A5/2) have been broken. A5/3 has not been seen in the
wild yet. <span class="anchor" id="line-414"></span><span class="anchor" id="li
ne-415"></span></p><p class="line874">Other comments: <span class="anchor" id="l
ine-416"></span></p><ol type="1"><li>No encryption in Russia/Ukraine, during eme
rgencies (which can last weeks!) <span class="anchor" id="line-417"></span></li>
<li>No encryption if BTS is under load (can somebody confirm??) <span class="anc
hor" id="line-418"></span></li><li>No encryption in germany during HLR/VLR outag
es <span class="anchor" id="line-419"></span></li><li>In some arab countries wit
hout reason some areas without encryption. <span class="anchor" id="line-420"></
span></li><li>SMS are sometimes unencrypted even when TCH is encrypted. <span cl
ass="anchor" id="line-421"></span><span class="anchor" id="line-422"></span></li
></ol><p class="line867"><span class="anchor" id="HOWTO_CHECK"></span> <span cla
ss="anchor" id="line-423"></span>
</p><h3 id="head-09c58797f15122ced40127af10230abe40f12d62">9.2. How to check if
A5/1 is used</h3>
<span class="anchor" id="line-424"></span><span class="anchor" id="line-425"></s
pan><p class="line862">There are two ways. You can either use <a class="http" hr
ef="http://web.archive.org/web/20070805124756/http://wiki.thc.org/gsm#NETMONITOR
">Nokia's Netmonitor (aka Field Tester)</a> or you can use any dct3 mobile (like
the nokia 3310) and gammu + PC to find out. The netmonitor is the easier way be
cause you do not need a PC. The <a class="http" href="http://web.archive.org/web
/20070805124756/http://wiki.thc.org/gsm#NETMONITOR">netmonitor software</a> runs
on many famous mobiles phones (nokia 6630, 6680, n70, sony erricson, ..)<br>
<span class="anchor" id="line-426"></span><span class="anchor" id="line-427"></
span><span class="anchor" id="line-428"></span></p><ol type="1"><li><p class="li
ne862">Make sure your phone is using GSM (and not 3G/UMTS or DUAL). Go to Menu -
&gt; Tools -&gt; Settings -&gt; Network -&gt; Network mode and switch to GSM. <s
pan class="anchor" id="line-429"></span></p></li><li>Install the netmonitor by c
onnecting your phone to the PC (via usb cable). <span class="anchor" id="line-43
0"></span></li><li>Launch netmonitor <span class="anchor" id="line-431"></span><
/li><li>Go to screen 1.10. Send a SMS to the phone. See if the 'Ciphering val' c
hanges from OFF to something else. <span class="anchor" id="line-432"></span></l
i><li>Go to screen 1.10. Call the mobile phone. See if the 'Ciphering val' chang
es from OFF to something else. <span class="anchor" id="line-433"></span></li><l
i>Send an email to steve [at] segfault dot net including the country, mobile ope
rator and cipher used (See example results below). <span class="anchor" id="line
-434"></span><span class="anchor" id="line-435"></span></li></ol><p class="line8
74">Example how it looks like: <span class="anchor" id="line-436"></span></p><di
v><table><tbody><tr> <td><p class="line891"><img class="attachment" src="http:/
/web.archive.org/web/20070805124756/http://wiki.thc.org/cracking_a5?action=Attac
hFile&amp;do=get&amp;target=netmode.jpg" title="attachment:netmode.jpg"></p></td
>
<td><p class="line891"><img class="attachment" src="http://web.archive.org/web
/20070805124756/http://wiki.thc.org/cracking_a5?action=AttachFile&amp;do=get&amp
;target=ftd109.jpg" title="attachment:ftd109.jpg"></p></td>
<td><p class="line891"><img class="attachment" src="http://web.archive.org/web
/20070805124756/http://wiki.thc.org/cracking_a5?action=AttachFile&amp;do=get&amp
;target=ftd00.jpg" title="attachment:ftd00.jpg"></p></td>
<td><p class="line891"><img class="attachment" src="http://web.archive.org/web
/20070805124756/http://wiki.thc.org/cracking_a5?action=AttachFile&amp;do=get&amp
;target=ftd01.jpg" title="attachment:ftd01.jpg"></p></td>
</tr>
</tbody></table></div><span class="anchor" id="line-437"></span><p class="line87
4">Results of this example: <span class="anchor" id="line-438"></span></p><ul><l
i>Date: 2007/05/25 09:32 <span class="anchor" id="line-439"></span></li><li>Coun
try Code: 234 <span class="anchor" id="line-440"></span></li><li>Network Code: 1
0F <span class="anchor" id="line-441"></span></li><li>Location area: 12124 (cent
ral london) <span class="anchor" id="line-442"></span></li><li>A51 when receivin
g SMS <span class="anchor" id="line-443"></span></li><li>A51 when receiving voic
e call <span class="anchor" id="line-444"></span></li><li>Hopping: On <span clas
s="anchor" id="line-445"></span><span class="anchor" id="line-446"></span><span
class="anchor" id="line-447"></span></li></ul><p class="line862">The other metho
d is by using gammu and a dct3 trace mobile (like the nokia 3310) connected to t
he PC. Start a trace, make a phonecall and send in the out.xml file that gammu p
roduces. See our main project page on how to use gammu and dct3 trace mobiles. C
heck the <a class="http" href="http://web.archive.org/web/20070805124756/http://
wiki.thc.org/gsm">GSMSP Project</a> for more infos on how to use gammu. <span cl
ass="anchor" id="line-448"></span><span class="anchor" id="line-449"></span><spa
n class="anchor" id="line-450"></span></p><p class="line867">
</p><h2 id="head-10b4fbabc315a98385d77ce6cdd347e0cc09dc43">10. Links</h2>
<span class="anchor" id="line-451"></span><span class="anchor" id="line-452"></s
pan><ol type="1"><li><p class="line891"><a class="http" href="http://web.archive
.org/web/20070805124756/http://www.dia.unisa.it/professori/ads/corso-security/ww
w/CORSO-9900/a5/Netsec/netsec.html">http://www.dia.unisa.it/professori/ads/corso
-security/www/CORSO-9900/a5/Netsec/netsec.html</a> <span class="anchor" id="line
-453"></span></p></li><li><p class="line891"><a class="http" href="http://web.ar
chive.org/web/20070805124756/http://jya.com/crack-a5.htm">http://jya.com/crack-a
5.htm</a> <a class="attachment" href="http://web.archive.org/web/20070805124756/
http://wiki.thc.org/cracking_a5?action=AttachFile&amp;do=get&amp;target=jya_com_
crack-a5.htm" title="attachment:jya_com_crack-a5.htm">local mirror</a> <span cla
ss="anchor" id="line-454"></span></p></li><li><p class="line891"><a class="http"
href="http://web.archive.org/web/20070805124756/http://cryptome.org/a51-crack.h
tm">http://cryptome.org/a51-crack.htm</a> <span class="anchor" id="line-455"></s
pan><span class="anchor" id="line-456"></span></p></li><li class="gap"><p class=
"line891"><a class="http" href="http://web.archive.org/web/20070805124756/http:/
/www.copacobana.org/">http://www.copacobana.org/</a> <span class="anchor" id="li
ne-457"></span></p></li></ol><span class="anchor" id="bottom"></span></div></div
>
<div id="pagebottom"></div>

<div id="footer">
Balanced theme by Henrik Omma and Heather Stern. Powered by <a href="http:/
/web.archive.org/web/20070805124756/http://moinmoin.wikiwikiweb.de/">MoinMoin</a
>
</div><!-- SOME SCRIPT SRC'S ON THIS PAGE HAVE BEEN REWRITTEN BY THE WAYBACK MAC
HINE
OF THE INTERNET ARCHIVE IN ORDER TO PRESERVE THE TEMPORAL INTEGRITY OF THE SESSI
ON. -->

<!-- SOME LINK HREF'S ON THIS PAGE HAVE BEEN REWRITTEN BY THE WAYBACK MACHINE
OF THE INTERNET ARCHIVE IN ORDER TO PRESERVE THE TEMPORAL INTEGRITY OF THE SESSI
ON. -->

<script language="Javascript">
<!--
// FILE ARCHIVED ON 20070805124756 AND RETRIEVED FROM THE
// INTERNET ARCHIVE ON 20100719094111.
// JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
// ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
// SECTION 108(a)(3)).
var sWayBackCGI = "http://web.archive.org/web/20070805124756/";
function xResolveUrl(url) {
var image = new Image();
image.src = url;
return image.src;
}
function xLateUrl(aCollection, sProp) {
var i = 0;
for(i = 0; i < aCollection.length; i++) {
var url = aCollection[i][sProp]; if (typeof(url) == "string") {
if (url.indexOf("mailto:") == -1 &&
url.indexOf("javascript:") == -1
&& url.length > 0) {
if(url.indexOf("http") != 0) {
url = xResolveUrl(url);
}
url = url.replace('.wstub.archive.org','');
aCollection[i][sProp] = sWayBackCGI + url;
}
}
}
}
xLateUrl(document.getElementsByTagName("IMG"),"src");
xLateUrl(document.getElementsByTagName("A"),"href");
xLateUrl(document.getElementsByTagName("AREA"),"href");
xLateUrl(document.getElementsByTagName("OBJECT"),"codebase");
xLateUrl(document.getElementsByTagName("OBJECT"),"data");
xLateUrl(document.getElementsByTagName("APPLET"),"codebase");
xLateUrl(document.getElementsByTagName("APPLET"),"archive");
xLateUrl(document.getElementsByTagName("EMBED"),"src");
xLateUrl(document.getElementsByTagName("BODY"),"background");
xLateUrl(document.getElementsByTagName("TD"),"background");
xLateUrl(document.getElementsByTagName("INPUT"),"src");
var forms = document.getElementsByTagName("FORM");
if (forms) {
var j = 0;
for (j = 0; j < forms.length; j++) {
f = forms[j];
if (typeof(f.action) == "string") {
if(typeof(f.method) == "string") {
if(typeof(f.method) != "post") {
f.action = sWayBackCGI + f.action;
}
}
}
}
}

//-->
</script>
</body></html>

S-ar putea să vă placă și