stream ciphers and coding theory
play

Stream Ciphers and Coding Theory Tor Helleseth University of - PowerPoint PPT Presentation

Stream Ciphers and Coding Theory Tor Helleseth University of Bergen Norway Outline Stream ciphers Building blocks in stream ciphers m-sequences Clock-control registers / Nonlinear combiner / Filter generator Correlation


  1. Stream Ciphers and Coding Theory Tor Helleseth University of Bergen Norway

  2. Outline • Stream ciphers • Building blocks in stream ciphers • m-sequences • Clock-control registers / Nonlinear combiner / Filter generator • Correlation attacks - connections to coding theory • Algebraic attacks • Linearization attack • Rønjom-Helleseth attack • Multivariate representation / Univariate representation • Algebraic attacks - connections to coding theory • Algebraic immunity (AI) • Spectral immunity (SI)

  3. Some known stream ciphers • RC4 - Secure Socket Layer (SSL) Protocol • A5 - Global System for Mobil Communication (GSM) • E0 - Bluetooth stream cipher • SNOW - Word oriented stream ciphers for software implementation (European NESSIE project) • ZUC - Chinese stream cipher • Grain, Trivium, Mickey – Stream ciphers from eSTREAM project initiated by ECRYPT – a European Network of Excellence in Cryptography

  4. Stream Cipher Key Key Pseudorandom- Pseudorandom- generator generator Keystream Keystream Plaintext Plaintext Ciphertext ⊕ ⊕ Requirements for a good keystream - Good randomness distribution - Long period - High complexity

  5. Motivation of Stream Ciphers • Block ciphers are frequently used in a stream cipher mode (Counter, OFB, CFB mode) • Direct construction may improve performance - Higher speed in software - Less complexity in hardware - Lower power consumption etc. • ECRYPT - A European Network of Excellence initiated an eSTREAM project - More than 30 streamciphers submitted 2005 - 8 ciphers in hardware in the final phase 3 - Grain, Trivium, Mickey, Pomaranch …

  6. m-Sequence (Example) s t+4 = s t+1 + s t g(x) = x 4 + x +1 (s t ) : 000100110101111… Properties of m-sequences • Period ε = 2 n - 1 • Balanced • Run property • All possible nonzero n-tuples occur during a period • s t + s t+ τ = s t+ γ

  7. m-Sequences in Stream Ciphers Positive features + Randomness distribution + Long period + Easy to generate (using linear shift registers) Negative features - Too much linearity - Easy to reconstruct g(x) from 2n consecutive bits (n linear equation in n unknowns, complexity O(n 3 )) (Berlekamp-Massey algorithm, complexity O(nlog 2 n))

  8. Nonlinear Components in Stream Cipher • Techniques to get higher linear complexity - The LFSRs are clocked irregularly - The LFSR bits are sent through a nonlinear function - Nonlinear combiner (several shift registers) - Attacks are using correlation attacks (based on coding theory) - Filter generator (one shift register) - Algebraic attacks (solving nonlinear equations)

  9. Clock Controlled LFSRs LFSR 1 D c t z t u t LFSR 2 • LFSR 1 generates an m-sequence mapped by D to an integer clock sequence c t used to select the bits in another m-sequence u t generated by LFSR 2 that is the output bit z t

  10. Nonlinear Combining LFSRs • Using several LFSRs u t 1 LFSR 1 z t u t 2 f LFSR 2 ... . . . u t n LFSR n f(x 1 ,x 2 ,...,x n ) = Σ a i1i2..in x i1 x i2 ...x in

  11. Geffe generator x 1 LFSR 1 x 2 z LFSR 2 f x 3 LFSR 3 The LFSRs generate m-sequence of period 2 ni - 1, gcd (n i ,n j )=1 • z = f(x 1 ,x 2 ,…,x n ) = x 1 x 2 +x 2 x 3 +x 3 • x 2 =1 → f = x 1 • x 2 =0 → f = x 3 • Period = (2 n1 -1)(2 n2 -1)(2 n3 -1) • Linear complexity = n 1 n 2 +n 2 n 3 +n 3

  12. Correlation attack - Geffe generator x 1 LFSR 1 x 2 z LFSR 2 f x 3 LFSR 3 Correlation attack of Geffe generator (NB! Prob(z = x 1 ) = ¾ ) - Guess initial state of LFSR 1 - Compare x 1 and z - If agreement ¾ , guess is likely to be correct - If agreement ½ , guess is likely to be wrong

  13. Binary Symmetric Channel-BSC p 1-p Receiver Sender 0 0 p p 1 1 z t u t 1-p • p = P(u t ≠ z t ) • Capacity of BSC p C ( p ) 1 p log p ( 1 p ) log ( 1 p ) = + + − − 2 2 C(p)=1 C(0.25) = 0.19 p=1/2

  14. Coding Theory Noise Codeword Received Decoded word Message Encoding Decoding r = c+e u c* c = u G k bits N bits • C is an [N,k,d] linear (block) code if C is a k-dimensional subspace of {0,1} N of minimum Hamming distance d. (Rate of the code C is R = k/N ) • For some codes C there are efficient methods to decode any received vector to the closest codeword (Viterbi decoding, Iterative decoding)

  15. Correlation Attack u t z t LFSR . . . . . Binary Symmetric Channel (BSC) Noise u t z t LFSR • Correlation attacks are possible when there exists a crossover probability between the LFSR stream u t and the key stream z t p = P(u t ≠ z t ) ≠ 0.5

  16. Correlation Attack • Suppose a correlation p i ≠ 0.5 between i-th LFSR register and the keystream (p i = P(x i =f(x 1 ,x 2 ,…,x n )) • Guess initial state for the i-th register and compare its output with the keystream • Select initial state giving sequence closest to keystream • Complexity is O( Σ i 2 Li N i ) - L i length if i-th register - ”Error–free decoding” decoding if L i /N i < C(p i ) - N i ≈ 2 · L i /C(p i ) - number of bits needed • Complexity is much less than O(N2 Li +L2+...+Ln ) • Note that this attack needs to guess a full register

  17. Fast correlation attacks • Need a correlation p ≠ 0.5 between keystream and register • Do not need to guess a full register • Construct a new linear code where bits are linear combinations of a subset of bits in initial state of register. • Each code position estimated by few w ≤ 4 keystream bits • Ideas from coding theory are used to construct the closest codeword i.e., bits in the subset • Efficient implementations of Viterbi decoder with rate R = 10 -10 and error probability p = 0.49

  18. Filter Generator • LFSR of length n generating an m-sequence (s t ) of period 2 n -1 determined by initial state (s 0 ,s 1 ,...,s n-1 ) • Primitive characteristic polynomial with root α • Nonlinear Boolean function f(x 0 ,x 1 ,...,x n-1 ) of degree d Keystream . . . z t = f(s t ,s t+1 ,...,s t+n-1 ) LFSR S ... = f t (s 0 ,s 1 ,...,s n-1 ) z t f f(x 0 ,x 1 ,...,x n-1 ) = Σ c a0a1..ar-1 x a0 x a1 ...x ar-1 = Σ A c A x A

  19. Example – Filter Generator g(x)=x 4 +x+1 s t+4 =s t+1 +s t s t s t+1 s t+2 s t+3 · · f(x 0 ,x 1 ,x 2 ,x 3 ) = x 0 x 1 +x 1 x 3 +x 3 z t = s t s t+1 + s t+1 s t+3 + s t+3 z 0 = f(s 0 ,s 1 ,s 2 ,s 3 ) = s 0 s 1 +s 1 s 3 +s 3 (= f 0 ) z 1 = f(s 1 ,s 2 ,s 3 ,s 4 ) = f(s 1 ,s 2 ,s 3 ,s 0 +s 1 ) = s 0 +s 1 +s 0 s 2 (= f 1 ) z 2 = f(s 2 ,s 3 ,s 4 ,s 5 ) = f(s 2 ,s 3 ,s 0 +s 1 ,s 1 +s 2 ) = s 1 +s 2 +s 1 s 3 (= f 2 ) .........................

  20. Multivariate Equations z 0 = s 0 s 1 +s 1 s 3 +s 3 z 1 = s 0 s 2 +s 0 +s 1 z 2 = s 1 s 3 +s 1 +s 2 z 3 = s 0 s 2 +s 1 s 2 +s 2 +s 3 z 4 = s 1 s 3 +s 2 s 3 +s 0 +s 1 +s 3 z 5 = s 0 s 2 +s 0 s 3 +s 1 s 2 +s 1 s 3 +s 0 +s 1 +s 2 ... 4 4 Linearization gives a linear system with ( ) + ( ) = 10 unknowns 2 1 z 0 = a 4 + a 8 + a 3 z 1 = a 5 + a 0 + a 1 z 2 = a 8 + a 1 + a 2 z 3 = a 5 + a 7 + a 2 + a 3 z 4 = a 8 + a 9 + a 0 + a 1 + a 3 z 5 = a 5 + a 6 + a 7 + a 8 + a 0 + a 1 + a 2 ... Solve by using Gaussian elimination

  21. Standard Linearization Attack • Shift register m-sequence (s t ) of period 2 n - 1 • Boolean function f(x 0 ,x 1 ,...,x n-1 ) of degree d z t = f(s t ,s t+1 ,...,s t+n-1 ) = f t (s 0 ,s 1 ,...,s n-1 ) • Nonlinear equation system of degree d in n unknowns s 0 ,...,s n-1 • Reduce to linear system: D unknown monomials n n n • D = ( ) + ( ) + ... + ( ) d d-1 1 • Need about D keystream bits • Complexity D ω , ω =log 2 7 ≈ 2.807

  22. Example - Coefficient Sequences • Let s t+4 =s t+1 +s t i.e., s 4 =s 1 +s 0 • Boolean function f(x 0 ,x 1 ,x 2 ,x 3 ) = x 2 +x 0 x 1 +x 1 x 2 x 3 +x 0 x 1 x 2 x 3 • z t =f(s t ,s t+1 ,s t+2 ,s t+3 ) = s t+2 +s t s t+1 +s t+1 s t+2 s t+3 +s t s t+1 s t+2 s t+3 • z 0 = f 0 (s 0 ,s 1 ,s 2 ,s 3 ) = s 2 +s 0 s 1 +s 1 s 2 s 3 + s 0 s 1 s 2 s 3 • z 1 = f 1 (s 0 ,s 1 ,s 2 ,s 3 ) = s 3 +s 1 s 2 + s 0 s 2 s 3 +s 0 s 1 s 2 s 3 • z 2 = f 2 (s 0 ,s 1 ,s 2 ,s 3 ) = s 0 +s 1 +s 1 s 3 +s 2 s 3 +s 0 s 1 s 3 +s 1 s 2 s 3 + s 0 s 1 s 2 s 3 • z 3 = f 3 (s 0 ,s 1 ,s 2 ,s 3 ) = s 1 +s 2 +s 0 s 2 +s 0 s 3 +s 1 s 3 +s 0 s 1 s 2 + s 0 s 2 s 3 +s 0 s 1 s 2 s 3 • z 4 = f 4 (s 0 ,s 1 ,s 2 ,s 3 ) = s 1 +s 2 +s 3 +s 0 s 1 +s 0 s 2 +s 1 s 2 +s 0 s 1 s 3 + s 0 s 1 s 2 s 3 • z 5 = f 5 (s 0 ,s 1 ,s 2 ,s 3 ) = s 0 +s 1 +s 2 +s 3 +s 1 s 3 +s 2 s 3 + s 0 s 1 s 2 + s 0 s 1 s 3 +s 0 s 1 s 2 s 3 Some coefficient sequences I={0,1,2,3} K I,t = 1 1 1 1 1 1... I={0,2,3} K I,t = 0 1 0 1 0 0... I={1,3} K I,t = 0 0 1 1 0 1...

  23. Rønjom-Helleseth Algebraic Attack • Recovering initial state of filter generator in complexity - Pre-computation O(D (log 2 D) 3 ) - Attack O(D) - Need D keystream bits • Main idea - Coefficient sequences of I={i 0 ,i 1 ,...,i r-1 } - Consider (binary) coefficient K I,t in f t (s 0 ,s 1 ,...,s n-1 ) of the monomial s I =s i0 s i1 ...s ir-1 at time t - K I,t obeys some nice recursions that can be computed - Construct a recursion generating all coefficient sequences for all K I,t for all I with |I| ≥ 2 p(x) = П 2 ≤ wt(j) ≤ d (x+ α j ) = Σ p j x j - Gives a simple linear equation system in n variables

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend