LINEAR FEEDBACK SHIFT REGISTERS, GALOIS FIELDS, AND STREAM CIPHERS Mike Thomsen Cryptography II May 14th, 2012 Outline • Linear Feedback Shift Registers (LFSR) • Interesting properties of LFSR • Stream ciphers with LFSR – correlation attacks • A5/1 and it’s weaknesses • Looking forward Linear Feedback Shift Registers (LFSR) • Very basic example, 3 bit register Output Bit 1 2 XOR 3 1 0 1 1 1 0 Linear Feedback Shift Registers (LFSR) • π bit register –π is how long each state of the LFSR is. • Start state – the register is initialized. • Tap positions – the positions in which a new bit is determined and fed back in. • Used in hardware testing • Maximum possible register states is 2π − 1, all possible binary states of length π. Linear Feedback Shift Registers (LFSR) Properties of LFSR • Maximal vs. non-maximal length • Cyclic • Non-maximal governed by front two bits. 1 0 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 Properties of LFSR • Columns are exact rotations of each other. • If we look at it as a matrix, different “initializations” or start states yield a rotation of the entire matrix. 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 Properties of LFSR • Columns are exact rotations of each other. • If we look at it as a matrix, different “initializations” or start states yield a rotation of the entire matrix. 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 LFSR and Galois Fields • So, how do we find the ‘maximal’ length tap positions? • We look at the number of bits, π. • Define π π₯ = π₯ 2π−1 + 1, and try to factor this polynomial. • If factors π π₯ = π π₯ ⋅ β π₯ … π§(π₯) exist, pick exponents of the factors with degree equal to π. • Example, π = 3. • π π₯ = π₯ 7 + 1 = (x + 1)(x 3 + x 2 + 1)(x 3 + x + 1) • We have two sets of maximal length tap positions: [1,3] and [2,3]. LFSR and Galois Fields • Take π = 3, start state [1,0,1] with different tap positions. Left is [2,3] (π₯ 3 + π₯ 2 + 1), right is [1,3] (π₯ 3 + π₯ + 1). 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 LFSR and Galois Fields • So, what do these polynomials that yield the maximal length tap positions correlate to Galois Fields? • When used, it is called the ‘characteristic polynomial’ of the LFSR, and they are all irreducible polynomials over the field πΊπΉ(2π ). • Similarly, non-maximal are reducible polynomials. LFSR and Galois Fields • Can reverse the tap positions to get another, identical set of LFSR states. • If the original feedback set is [m, A, B, C], the reversed feedback set is described by [m, m-C, m-B, m-A]. • Easy to find another irreducible polynomial. LFSR and Galois Fields • We can now take this relationship into another cryptographic area, AES. • Quickly generate all elements of πΊπΉ 256 for AES, tap positions [8,4,3,1]. • Given the ‘mirror’ or ‘reverse’ image property, we can determine another set of tap positions giving the same elements used in AES: [8,7,5,4]. • π½2 π₯ /π₯ 8 +π₯ 4 + π₯ 3 + π₯ + 1 = π½2 π₯ /π₯ 8 + π₯ 7 + π₯ 5 + π₯ 4 + 1 LFSR and Stream Ciphers • LFSR can be used as a stream cipher. • Remember that stream ciphers are similar to PRNG in that they output a single bit at a time, and data is encrypted bit by bit until the whole plaintext has been encrypted. • A single LFSR as a cipher is vulnerable to due it’s cyclic nature, so we combine multiple LFSR to achieve this. LFSR and Stream Ciphers • First, we define a boolean function. • For example, consider the following diagram. LFSR and Stream Ciphers • We determine π beforehand, and give it some boolean function so that it produces the stream cipher output bit, either zero or one. Try to make non-linear. • Example: π§π‘ = π π‘1 β¨π π‘2 … β¨π π‘π LFSR and Stream Ciphers – Correlation Attacks • Since registers are private, they are not independent beings to an attacker, so the whole system must be broken. • Idea: Try to correlate one register to the boolean function, improving a brute force attack. • If it is correlated, it can be broken separately (independent of the system), vastly improving complexity. • More likely than it seems, with enough registers, due to the linear nature of LFSR, some patterns and correlations will appear – linear recursive equations. LFSR and Stream Ciphers – Correlation Attacks • For example, 3 registers, each 16 bits long. • Brute force complexity is 23⋅16 = 248 . • If we have one of the three that is correlated, we now have complexity: 216 + 232 , a savings of 65535. • If two are correlated, complexity becomes: 3 ⋅ 216 , an even larger savings. LFSR and Stream Ciphers – A5/1 • Now we look at a stream cipher that is actually used in the real world – A5/1, used to encrypt over the air data in the GSM standard (Global System for Mobile Communication). • A5/2 is actually a weaker version of A5/1, poses a problem (meant to be secret) – “export regions”. • Over 4 billion customers use devices that use the GSM standard. • A ‘conversation’ is a sequence of frames – sent once every 4.6 milliseconds, so 28 frames a second. LFSR and Stream Ciphers – A5/1 • Use the following LFSR’s of length 19, 21, and 22. • R1 has taps 13,16,17,18 • R2 has taps 20, 21 • R3 has taps 7, 20, 21, 22 LFSR and Stream Ciphers – A5/1 • The protocol to encrypt data between two parties: • C1, C2, and C3 on previous slide are the ‘clock’ bits. A majority function is calculated, and if the bit agrees, the register is clocked. • After some initialization (with π (64), πΉπ (22) and doing no clocking) the LFSR’s are ready to begin producing stream cipher bits. • All 3 LFSR output bits are XOR’d together to produce the cipher output bit. • Each iteration, the majority function is calculated, and registers will be clocked if needed (creating a new state), until all 228 necessary bits are produced for the current frame. Attacks on A5/1 – Known Plaintext • Starting around 2000, people were creating massive preprocessed tables (at least π(248 ) steps and requiring 64TB hard drive space) to try to break the cipher. • In the same year, new birthday attack developed. With 248 steps, 300 GB of hard drive space, and 2 minutes of keystream bits, π could be recovered in less than a second. • Lookup attacks better getting better, 3TB, only needing 3- 5 minutes of conversation. Attacks on A5/1 – Active Attacks • Barkhan, Biham, and Keller developed the most serious weakness – an active attack with A5/2 – if the phone supports it. They also published another paper in 2006, furthering their attacks and fully breaking A5/1. • A5/3 or KASUMI Future • Algorithms like RC4/5/6 have been developed and avoid the use of LFSR – have their own set of problems. • LFSR are interesting and are good for ‘random’ hardware testing, and if constructed correctly, can be useful in some cryptographic applications. • Note that A5/1’s weaknesses are less about the structure of LFSR and more about the structure of GSM. References • Elad Barkan, Eli Biham, Nathan Keller, Instant Ciphertext- • • • • Only Cryptanalysis of GSM Encrypted Communication, 2003/2006 Patrik Edhal, On LFSR-based Stream Ciphers (PhD), 2003 Alex Biryukov, Adi Shamir, David Wagner, Real Time Cryptanalysis of A5/1 on a PC, 2000 http://www.newwaveinstruments.com/resources/articles/m _sequence_linear_feedback_shift_register_lfsr.htm Thomas Johansson, Fredrik Jonsson, Improved Fast Correlation Attacks on Stream Ciphers via Convolutional Codes, 1999