50 likes | 178 Vues
The A5/1 algorithm, utilized in GSM communication, is composed of three shift registers: X (19 bits), Y (22 bits), and Z (23 bits). The algorithm employs a majority function (maj) to determine whether each register steps forward, based on specific bits. If certain conditions are met, the states of the registers are updated, influencing the creation of the keystream. The final keystream bit is generated through the XOR operation of selected bits from all registers. This process is critical for secure communication in mobile networks.
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