5
Part 1 Cryptography 1 A5/1 A5/1 consists of 3 shift registers o X: 19 bits (x 18 ,x 17 ,x 16 , …,x 0 ) o Y: 22 bits (y 21 ,y 20 ,y 19 , …,y 0 ) o Z: 23 bits (z 22 ,z 21 ,z 20 , …,z 0 )

A5/1

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: A5/1

Part 1 Cryptography 1

A5/1 A5/1 consists of 3 shift registers

o X: 19 bits (x18,x17,x16, …,x0)

o Y: 22 bits (y21,y20,y19, …,y0)

o Z: 23 bits (z22,z21,z20, …,z0)

Page 2: A5/1

Part 1 Cryptography 2

A5/1 At each step: m = maj(x8, y10, z10)

o Examples: maj(0,1,0) = 0 and maj(1,1,0) = 1 If x8 = m then X steps

o t = x18 x17 x16 x13

o xi = xi1 for i = 18,17,…,1 and x0 = t If y10 = m then Y steps

o t = y21 y20

o yi = yi1 for i = 21,20,…,1 and y0 = t If z10 = m then Z steps

o t = z22 z21 z20 z7

o zi = zi1 for i = 22,21,…,1 and z0 = t Keystream bit is x18 y21 z22

Page 3: A5/1

Part 1 Cryptography 3

A5/1

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

x18 x17 x16 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x1 x0

y21 y20 y19 y18 y17 y16 y15 y14 y13 y12 y11 y10 y9 y8 y7 y6 y5 y4 y3 y2 y1 y0

z22 z21 z20 z19 z18 z17 z16 z15 z14 z13 z12 z11 z10 z9 z8 z7 z6 z5 z4 z3 z2 z1 z0

X

Y

Z

Page 4: A5/1

Part 1 Cryptography 4

A5/1 Example

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

0 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 0

1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1

1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0

X

Y

Z

Page 5: A5/1

Part 1 Cryptography 5

A5/1 Example

We have m = maj(0,1,1) = 1

0 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 0

1100110101100101011001

01000011001110100110011

X

Y

Z

Register X does nothing Registers Y and Z step

Keystream bit is 0 0 1 = 1

1 0 = 1

110011010110010101100 1

0100001100111010011001

1 1 0 1 = 1

1

1