50 likes | 160 Views
A5/1. A5/1 consists of 3 shift registers X : 19 bits ( x 18 , x 17 , x 16 , …,x 0 ) Y : 22 bits ( y 21 , y 20 , y 19 , …,y 0 ) Z : 23 bits ( z 22 , z 21 , z 20 , …,z 0 ). A5/1. At each step: m = maj( x 8 , y 10 , z 10 ) Examples: maj(0 ,1,0) = 0 and maj(1 ,1,0) = 1
E N D
A5/1 • A5/1 consists of 3 shift registers • X: 19 bits (x18,x17,x16,…,x0) • Y: 22 bits (y21,y20,y19,…,y0) • Z: 23 bits (z22,z21,z20,…,z0) Part 1 Cryptography 1
A5/1 • At each step: m = maj(x8, y10, z10) • Examples: maj(0,1,0) = 0 and maj(1,1,0) = 1 • If x8 = m then X steps • t = x18 x17 x16 x13 • xi = xi1 for i = 18,17,…,1 and x0 = t • If y10 = m then Y steps • t = y21 y20 • yi = yi1 for i = 21,20,…,1 and y0 =t • If z10 = m then Z steps • t = z22 z21 z20 z7 • zi = zi1 for i = 22,21,…,1 and z0 = t • Keystream bit is x18 y21 z22 Part 1 Cryptography 2
A5/1 X • Each value is a single bit • Key is initial fill of register • Each register steps or not, based on (x8, y10, z10) • Keystream bit is XOR of left bit of each register Y Z Part 1 Cryptography 3
A5/1 Example X • Each register element is a single bit • Key is initial fill of register • An example of register fills is given above • See animation on next slide Y Z Part 1 Cryptography 4
A5/1 Example X • We have m= maj(0,1,1) = 1 Y 1 1 0 0 0 1 0 1 1 1 0 1 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 = 1 Z 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 = 1 • Register X does nothing • Registers Y and Z step • Keystream bit is 0 0 1 = 1 Part 1 Cryptography 5