Attacks against Filter Generators Exploiting Monomial Mappings Anne - - PowerPoint PPT Presentation

attacks against filter generators exploiting monomial
SMART_READER_LITE
LIVE PREVIEW

Attacks against Filter Generators Exploiting Monomial Mappings Anne - - PowerPoint PPT Presentation

Attacks against Filter Generators Exploiting Monomial Mappings Anne Canteaut & Yann Rotella GT BaC, 20 October 2017 Inria - SECRET, Paris, France 1 Summary Introduction : Stream ciphers Linear Feedback Shift Registers Monomial


slide-1
SLIDE 1

Attacks against Filter Generators Exploiting Monomial Mappings

Anne Canteaut & Yann Rotella GT BaC, 20 October 2017

Inria - SECRET, Paris, France 1

slide-2
SLIDE 2

Summary

slide-3
SLIDE 3

Introduction : Stream ciphers Linear Feedback Shift Registers Monomial equivalence between filtered LFSR Univariate correlation attacks Impact on Boolean functions Conclusions

2

slide-4
SLIDE 4

Stream ciphers

slide-5
SLIDE 5

Stream ciphers

  • Symetric cryptography, = block ciphers
  • Based on Vernam cipher (one-time pad)
  • PRNG

Key IV PRNG st : keystream plaintext ciphertext

3

slide-6
SLIDE 6

Stream ciphers

  • Block cipher modes of operations (OFB, Counter)
  • Specific design (LFSR, NLFSR)
  • Internal state
  • Large period
  • A5/1 - A5/2, SNOW

4

slide-7
SLIDE 7

Stream ciphers

  • Block cipher modes of operations (OFB, Counter)
  • Specific design (LFSR, NLFSR)
  • Internal state
  • Large period
  • A5/1 - A5/2, SNOW

Interests

  • Small latency
  • No padding
  • No error propagation
  • Cheap

4

slide-8
SLIDE 8

Generic attacks

f X

Φ

  • Key recovering

5

slide-9
SLIDE 9

Generic attacks

f X

Φ

  • Key recovering
  • Initial state recovering

5

slide-10
SLIDE 10

Generic attacks

f X

Φ

  • Key recovering
  • Initial state recovering
  • Next-bit prediction

5

slide-11
SLIDE 11

Generic attacks

f X

Φ

  • Key recovering
  • Initial state recovering
  • Next-bit prediction
  • distinguishing st from a random

sequence

5

slide-12
SLIDE 12

Generic attacks

f X

Φ

  • Key recovering
  • Initial state recovering
  • Next-bit prediction
  • distinguishing st from a random

sequence Always take an internal state twice bigger as the security level (i.e. key size)

5

slide-13
SLIDE 13

LFSR

slide-14
SLIDE 14

Linear feedback shift Register (LFSR)

Definition Fibonacci representation

c1 c2 cn−1 cn st+n−1 st+n−2 st+1 st

6

slide-15
SLIDE 15

Linear feedback shift Register (LFSR)

Definition Fibonacci representation

c1 c2 cn−1 cn st+n−1 st+n−2 st+1 st

Definition Gallois representation

cn−1 cn−2 c1 cn st+n−1 st+n−2 st+1 st

6

slide-16
SLIDE 16

Classical properties of LFSR

  • Nice statistical properties
  • Linear
  • st+L = ∑n

i=1 cist+n−i, ∀t ≤ 0

  • P(X) = 1−∑n

i=1 ciX i

  • P∗(X) = X nP(1/X)
  • We wil take P primitive

7

slide-17
SLIDE 17

Filtered LFSR

f X

Φ

LFSR

st f st = f(ut+γ1,··· ,ut+γn)

8

slide-18
SLIDE 18

Filtered LFSR

f X

Φ

LFSR

st f st = f(ut+γ1,··· ,ut+γn) Algebraic Normal Form f(x1,x2,··· ,xn) = ∑

u∈Fn

2

au

n

i=1

xui

i

= a0 + a1x1 + a2x2 +···+ a3x1x2 +···+ a2n−1x1 ···xn

8

slide-19
SLIDE 19

Monomial equivalence

slide-20
SLIDE 20

LFSR over a Finite Field

  • α : root of the primitive characteristic polynomial in F2n
  • Identify the n-bit words with elements of F2n with the dual basis of

{1,α,α2,··· ,αn−1}

c1 c2 cn−1 cn st+n−1 st+n−2 st+1 st

Proposition The state of the LFSR at time (t + 1) is the state of the LFSR at time t multiplied by α.

9

slide-21
SLIDE 21

LFSR over a Finite Field

  • α : root of the primitive characteristic polynomial in F2n
  • Identify the n-bit words with elements of F2n with the dual basis of

{1,α,α2,··· ,αn−1}

c1 c2 cn−1 cn st+n−1 st+n−2 st+1 st

Proposition The state of the LFSR at time (t + 1) is the state of the LFSR at time t multiplied by α. For all t, Xt = X0αt

9

slide-22
SLIDE 22

Boolean functions

Proposition (Univariate representation) F(X) =

2n−1

i=0

AiX i with Ai ∈ F2n given by the discrete Fourier Transform of F

10

slide-23
SLIDE 23

Boolean functions

Proposition (Univariate representation) F(X) =

2n−1

i=0

AiX i with Ai ∈ F2n given by the discrete Fourier Transform of F For all t, st = F(X0αt)

10

slide-24
SLIDE 24

Monomial equivalence [Rønjom - Cid 2010]

F st

(P,α)

n X0 For all t, st = F(X0αt)

11

slide-25
SLIDE 25

Monomial equivalence [Rønjom - Cid 2010]

Y0 G s′

t (Q,β)

n

β = αk with gcd(k,2n − 1) = 1

11

slide-26
SLIDE 26

Monomial equivalence [Rønjom - Cid 2010]

Y0 G s′

t (Q,β)

n

β = αk with gcd(k,2n − 1) = 1

s′

t = G(Y0βt) = G(Y0αkt) 11

slide-27
SLIDE 27

Monomial equivalence [Rønjom - Cid 2010]

Y0 G s′

t (Q,β)

n

β = αk with gcd(k,2n − 1) = 1

s′

t = G(Y0βt) = G(Y0αkt)

If G(x) = F(xr) with rk ≡ 1 mod (2n − 1) Then s′

t = F(Y r 0αt) 11

slide-28
SLIDE 28

Monomial equivalence [Rønjom - Cid 2010]

F st

(P,α)

n X0 For all t, st = F(X0αt) Y0 G s′

t (Q,β)

n

β = αk with gcd(k,2n − 1) = 1

s′

t = G(Y0βt) = G(Y0αkt)

If G(x) = F(xr) with rk ≡ 1 mod (2n − 1) Then s′

t = F(Y r 0αt)

For all t, s′

t = st if Y0 = X k 11

slide-29
SLIDE 29

Example

F(x) = Tr(xr), with gcd(r,2n − 1) = 1 : Let k be such that rk ≡ 1 mod (2n − 1). Tr(xr) st st

(P,α) (Q,β = αk)

n n

= ⇒ The initial generator is equivalent to a plain LFSR of the same size.

12

slide-30
SLIDE 30

Consequence The security level of a filtered LFSR is the minimal security level for a generator of its equivalence class.

13

slide-31
SLIDE 31

Consequence The security level of a filtered LFSR is the minimal security level for a generator of its equivalence class.

  • Algebraic attacks
  • Correlation attacks

13

slide-32
SLIDE 32

Algebraic attacks

Λ : Linear complexity

Proposition (Massey-Serconek 94) Let an LFSR of size n filtered by a Boolean function F: F(X) =

2n−1

i=0

AiX i Then

Λ = #{0 ≤ i ≤ 2n − 2 : Ai = 0}

14

slide-33
SLIDE 33

Algebraic attacks

Λ : Linear complexity

Proposition (Massey-Serconek 94) Let an LFSR of size n filtered by a Boolean function F: F(X) =

2n−1

i=0

AiX i Then

Λ = #{0 ≤ i ≤ 2n − 2 : Ai = 0}

The monomial equivalence does not affect the complexity of algebraic attacks [Gong et al. 11]

14

slide-34
SLIDE 34

Univariate correlation attacks

slide-35
SLIDE 35

Correlation attack [Siegenthaler 85]

LFSRk LFSRk−1 LFSR2 LFSR1 f st Compare LFSRi

σt

15

slide-36
SLIDE 36

Criterion

The criterion besides the correlation attack is the resiliency.

16

slide-37
SLIDE 37

Fast correlation attack [Meier - Staffelbach 88]

Pα F st Pα Tr(Ax)

σt

Compare X0 X0

17

slide-38
SLIDE 38

Criterion

The criterion besides the fast correlation attack is the non-linearity.

18

slide-39
SLIDE 39

Generalized fast correlation attacks

G(x) = Tr(Axk) Pα F st Pα G

σt

Compare X0 X0 Pα F st X0 Compare

σt

Pαk X k

19

slide-40
SLIDE 40

Generalized non-linearity [Gong & Youssef 01]

Relevant security criterion: Generalized non-linearity GNL(f) = d(f,{Tr(λxk,λ ∈ F2n,gcd(k,2n − 1) = 1})

20

slide-41
SLIDE 41

Generalized non-linearity [Gong & Youssef 01]

Relevant security criterion: Generalized non-linearity GNL(f) = d(f,{Tr(λxk,λ ∈ F2n,gcd(k,2n − 1) = 1}) And if k is not coprime to 2n − 1 ?

20

slide-42
SLIDE 42

A more efficient correlation attack

When gcd(k,2n − 1) > 1 and F correlated to G(X) = H(X k). Pα F st Pα G

σt

Compare X0 X0 Pα F st Pαk H

σt

Compare X0 X k

21

slide-43
SLIDE 43

A more efficient correlation attack

When gcd(k,2n − 1) > 1 and F correlated to G(X) = H(X k). Pα F st Pα G

σt

Compare X0 X0 Pα F st Pαk H

σt

Compare X0 X k

  • Number of states of the small generator: τk = ord(αk).

21

slide-44
SLIDE 44

A more efficient correlation attack

When gcd(k,2n − 1) > 1 and F correlated to G(X) = H(X k). Pα F st Pα G

σt

Compare X0 X0 Pα F st Pαk H

σt

Compare X0 X k

  • Number of states of the small generator: τk = ord(αk).
  • Exhaustive search on X k

0 : Time = τk log(τk)

ε2

21

slide-45
SLIDE 45

Recovering the remaining bits of the initial state

Property We get log2(τk) bits of information on X0 where τk = ord(αk):

22

slide-46
SLIDE 46

Recovering the remaining bits of the initial state

Property We get log2(τk) bits of information on X0 where τk = ord(αk): If we perform two distinct correlation attacks with k1 et k2, then we get log2(lcm(τk1,τk2)) bits of information.

22

slide-47
SLIDE 47

First improvement

The complexity Time = τk log(τk)

ε2

can be reduced to Time = τk logτk + 2log(τk)

ε2 .

with a fast Fourier transform [Canteaut - Naya-Plasencia 2012]

23

slide-48
SLIDE 48

Second improvement

G(X) = H(X k) when H is linear: Pα F st Pα G

σt

Compare X0 X0 Pα F st X0 Compare

σt

Pαk X k

  • Size of the small LFSR: L(k) = ord(2) mod τk.
  • If L(k) < n and H is linear −

→ fast correlation attack.

24

slide-49
SLIDE 49

What we really do

  • Split the state on the multiplicative subgroups
  • recover independantly the information
  • gather information

25

slide-50
SLIDE 50

Impact on Boolean functions

slide-51
SLIDE 51

New criterion

Definition (Multiplicative subgroup resiliency ?) Let F be a Boolean function with n variables, let k dividing 2n − 1, and τ the multiplicative order of αk and d = gcd(k,τ), we say that F is k - MS resilient if and only if max

G(x)=H(xk)ε(F(x),G(x)) = τ

d 2−n Question Is it possible to reach the value of τ/d for every possible τ ?

26

slide-52
SLIDE 52

When H is linear

Question What is the value of min

f

max

G(x)=Tr(λxk)ε(F(x),G(x)) 27

slide-53
SLIDE 53

Conclusions

slide-54
SLIDE 54

Conclusion and open questions

Conclusion

  • Generalized criterion for f besides the generalized non-linearity.
  • The attack does not apply when (2n − 1) is prime.

Open questions

  • Find good filtering Boolean functions ?
  • Compute efficiently a good approximation of the filtering function ?

28

slide-55
SLIDE 55

Thank You for your attention !

29

slide-56
SLIDE 56

Thank You for your attention ! Questions ?

29