This is very cool Frank.  (Along with your unmixing code as well!)

Just a quick note though, the last 10 bits of Kc is not 0 with modern
versions of A3/A8.  (Comp128v3.)

I still think your ideas are workable though.


Quoting Frank A. Stevenson ([email protected]):
> Once we have recovered the internal state of A5/1 at some point in the 
> keystream, the information gained will only make it possible to decrypt 
> what immediately follows in the particular frame (114 bits) where the 
> key was found. To decode the full conversation A5/1 has to be clocked 
> backwards up to around 200 bits, and then the frame number has to be 
> "unmixed" (trivial), at witch the Key Unmixing method described in my 
> previous post will recover the "master key" Kc for the entire  session.
> 
> But clocking A5/1 backwards is a bit tricky since each state doesn't 
> always have a unique predecessor. Various methods have been suggested to 
> solve this problem, most of which center around methods for tree traversal.
> 
> I have come up with a simple and fast solution, a step-backwards <-> 
> step-forwards approach, where you step back a small number of steps (ex 
> 20-30) try every possible combination of lfsr reverse stepping, run 
> forwards and compare the result. When the result matches, the function 
> recurses and does another 20-30 steps. Stepping back 100-200 clocks in 
> this way can be done in a fraction of a second, and will give a few 
> possible candidates. Finding the correct state should be easy, since the 
> Kc is rumoured to have 10 bits set to 0 - it should stick out like a 
> sore thumb.
> 
> I have dumped some code fragments here http://traxme.net/a5/backwards.zip
> 
> I guess I should try to gather all my bits and pieces of code in a 
> single library (practical GSM decryption functions)
> 
> Frank
> 
> 
> _______________________________________________
> A51 mailing list
> [email protected]
> http://lists.lists.reflextor.com/cgi-bin/mailman/listinfo/a51
_______________________________________________
A51 mailing list
[email protected]
http://lists.lists.reflextor.com/cgi-bin/mailman/listinfo/a51

Reply via email to