6.6 Case Study: A5 Stream Cipher
Total Page:16
File Type:pdf, Size:1020Kb
6.6 Case Study: A5 Stream Cipher A. A5/1 stream cipher key generator for secure GSM conversations Note. A GSM conversation is sent as a sequence of frames per 4.6 millisecond, and each frame contains 228 bits. @G. Gong, 2003 1 Description of the A5/1 K,64-bit key stream cipher: 64-bit key to generate a key stream where each 228- A5 bit used for one frame (228-bit) encryption. 1-bit output 228-bit buffer GSM message: … 228-bit 228-bit Output: 228-bit ciphertext, one 1 frame Bitwise addition frame of cipher @G. Gong, 2003 2 Construction of A5/1 Generator: Parameters: (a) Three LSFRs which generate m-sequences with periods 219 - 1, 222 - 1, 223 - 1, respectively. 1. LFSR 1: 19 5 2 generates a = {a(t)}. f1(x) = x + x + x + x +1 22 2. LFSR 2: f 2 ( x ) = x + x + 1 generates b = {b(t)}. 3. LFSR 3: 23 16 2 generates c = {c(t)}. f3 (x) = x + x + x + x +1 4. Tap positions: d1 = 11, d2 = 12 and d3 = 13. @G. Gong, 2003 3 (b) Majority function f(x1, x2, x3) = (y1, y2, y3) is defined by f (a(t +11),b(t +12),c(t +13)) a(t +11) b(t +12) c(t +13) = (y1, y2, y3) (1,1,1) 0 0 0 1 1 1 (1,1,0) 0 0 1 1 1 0 (0,1,1) 0 1 1 1 0 0 (1,0,1) 1 0 1 0 1 0 Output: The output sequence u = {u(t)} which performs at time t, u(t) = a(i1) + b(i2) + c(i3), t = 0, 1, ... where i1, i2, and i3 are determined in a stop-and-go clock controlled model by the majority function f. @G. Gong, 2003 4 Stop/go control 0 1 2 5 11 … … 18 Stop/go control output y1 y 0 1 2 12 21 2 f: Majority … … function y3 Stop/go control 0 1 2 13 16 22 … … … A5/1 Key Stream Generator @G. Gong, 2003 5 For example, at time t, if f(a(t+11), b(t+12), c(t+13)) = (1, 1, 0) i.e., (y1, y2, y3) = (1, 1, 0), then LFSR 1 and LFSR 2 are clocked and LFSR 3 has no clock pulse. Session key or seed: initial states for three LFSRs, a total of 64 bits. @G. Gong, 2003 6 Note 2. The first 'original' A5 algorithm was renamed A5/1. Other algorithms include A5/0, which means no encryption at all, and A5/2, a weaker over-the-air privacy algorithm. Generally, the A5 algorithms after A5/1 have been named A5/x. Most of the A5/x algorithms are considerably weaker than the A5/1, which has the time complexity of 254 at most as, shown above. The estimated time complexity of A5/2 is as low as 216. A5/3 is available in the work group of wireless communications @G. Gong, 2003 7 What does A5/1 suffer ? • It can be broken with few hours by a PC. • Short period problem: Without stop/go operation, the period of sum of the three LFSRs is given by (219-1)( 222-1)(223-1). However, the experiement shows that the period of A5/1 is arround (4/3)(223-1). • Collision problem: different seeds (i.e., different initial states of three LFSRs) may result in the same key stream (our new results shows that only 70% seeds produce different key streams.) • The maority function is the worst function in terms of correlation with all affine functions. @G. Gong, 2003 8 Possible Attacks on A5/1 Ø Brute-Force Attack against A5 If we have a Pentium III class chip with approximately 20 million transistors and the implementation of one set of LSFRs (A5/1) would require about 2000 transistors, we would have a set of 10,000 parallel A5/1 implementations on one chip. If the chip was clocked to 600 MHz, we could try approximately 2M keys per second per A5/1 implementation. A key space of 254 keys would thus require about 900,000 seconds, 250 hours, with one chip. Ø Alex Biryukov and Adi Shamir (co-inventor of the RSA) claim to be able to penetrate the security of a A5/1 ciphered GSM call in less than one second using a PC with 128 MB RAM and large hard drives. @G. Gong, 2003 9 6.7. w7 -- an Analogue Cipher of A5 w7 stream cipher algorithm is proposed by S. Thomas, D. Anthony, T. Berson , and G. Gong published as an INTERNET DRAFT, April 2002. Description of w7: The w7 algorithm is a byte-wide, synchronous stream cipher optimized for efficient hardware implementation at very high data rates. It is a symmetric key algorithm supporting key lengths of 128 bits. It contains eight similar models, C1, C2, …, C8 where C2 is illustrated as follows. @G. Gong, 2003 10 K,128-bit key K K C1 C2 … C8 1-bit output 1-byte output @G. Gong, 2003 11 o u 37 36 35 32 31 28 27 24 23 22 21 18 17 16 15 14 10 9 8 7 4 0 t ... ... ... ... ... ... ... k37 k36 k35 k32 k31 k28k27 k24 k23k22 k21 k18k17 k16 k15 k14 k10 k9 k8 k7 k4 k0 p u t 42 41 40 39 38 37 36 35 34 33 32 31 30 29 24 16 5 4 3 2 1 0 ... ... ... k42 k41 k40 k39k38 k37 k36 k35k34 k33 k32 k31k30 k29 k24 k16 k5 k4 k3 k2 k1 k0 Majority function 46 45 44 39 38 33 32 27 26 22 18 4 0 ... ... ... ... ... ... ... k46 k45k44 k39 k38 k33k32 k27 k26 k22 k18 k4 k0 The W7 Cipher Algorithm @G. Gong, 2003 12 6.8. Correlation Attack to Stream Ciphers Self reading. @G. Gong, 2003 13 References 1. “GSM (and PCN ) security and encryption”, at Brooksonhttp://www.brookson.com/gsm/gsmdoc.htm 2. “GSM interception” , at http://www.dia.unisa.it/ads.dir/corso- security/www/CORSO-9900/a5/Netsec/netsec.html 3. “Wireless security”, http://www.compaq.ch/ins_wpwirelesssecurity.pdf 4. “Security of mobile systems from user's point of view“, at http://www.hut.fi/~hansen/papers/user-secu/ @G. Gong, 2003 14.