[A51] Bit position , table structure and gpu in A51 tables

Jan Hrach jenda at yakumo.hrach.eu
Fri Mar 18 11:39:46 CET 2016


https://brmlab.cz/project/gsm/deka/attack-theory
https://brmlab.cz/project/gsm/deka/attack-implementation

> I tought after a quick reading that the plaintext equivalent  of the tables was the LFSRs state after 122 clocking and the output the 64 first bit of keystream (after 64 further clocking) with a simple reduction function  output = new plaintext

No, it's the last 64 bits of keystream after 99+64 clockings. The reduction functions are XORed constants generated using A5/1 itself (does anyone know if there is any special purpose in this, or if it is just convenient?)

See http://jenda.hrach.eu/gitweb/?p=deka;a=blob;f=genkernel32.sh;h=96ec2fc0a6b540101f6f6e8fa418c7b385b460d8;hb=HEAD for the actual chain computation (which is unfortunately a bit hard to read, as it is a hand-vectorized code).

> However while testing there is a Bit position that poped up . Does it mean that the compute function differ for each steps or is it just different in each tables ?

By bit position, you probably mean the offset if the 64bit sample in the 114bit burst.

> Finally what is the purpose of the GPU when finding new KC ? Is it just for the compute/reduction step ?

The chain is computed to the nearest endpoint on the GPU, then the corresponding startpoint is looked up on disk, and then the chain is reconstructed from that startpoint on the GPU again.


On 18.3.2016 10:33, fritchkornia at keemail.me wrote:
> 
> Hi
> 
> I have a few questions regarding the A5/1 tables. I tought after a quick reading that the plaintext equivalent  of the tables was the LFSRs state after 122 clocking and the output the 64 first bit of keystream (after 64 further clocking) with a simple reduction function  output = new plaintext
> 
> However while testing there is a Bit position that poped up . Does it mean that the compute function differ for each steps or is it just different in each tables ?
> 
> IS there a simple guide to understand the table structure somehow .
> 
> Finally what is the purpose of the GPU when finding new KC ? Is it just for the compute/reduction step ?
> 
> 
> Best Regards
> 
> 
> 
> _______________________________________________
> A51 mailing list
> A51 at lists.srlabs.de
> https://lists.srlabs.de/cgi-bin/mailman/listinfo/a51
> 


-- 
Jan Hrach | http://jenda.hrach.eu/
GPG CD98 5440 4372 0C6D 164D A24D F019 2F8E 6527 282E



More information about the A51 mailing list