Generalized Correlation Analysis of Vectorial Boolean Functions - - PowerPoint PPT Presentation

generalized correlation analysis of vectorial boolean
SMART_READER_LITE
LIVE PREVIEW

Generalized Correlation Analysis of Vectorial Boolean Functions - - PowerPoint PPT Presentation

Generalized Correlation Analysis of Vectorial Boolean Functions Claude Carlet, Khoongming Khoo, Chu-Wee Lim and Chuan-Wen Loe Introduction Correlation Attack of Vectorial Stream Ciphers In this talk, we shall improve correlation attacks on


slide-1
SLIDE 1

Generalized Correlation Analysis

  • f Vectorial Boolean Functions

Claude Carlet, Khoongming Khoo, Chu-Wee Lim and Chuan-Wen Loe

slide-2
SLIDE 2

Introduction

slide-3
SLIDE 3

Correlation Attack of Vectorial Stream Ciphers

In this talk, we shall improve correlation attacks on

vectorial stream ciphers.

Will consider vectorial Boolean functions in combinatorial

and filtering generators.

Will not go into the details of the correlation attack.

Focus on how to obtain good linear approximation.

slide-4
SLIDE 4

Correlation Attack of Vectorial Stream Ciphers

LFSR 1 LFSR 2 LFSR n

Vector Boolean Function

x1 x2 xn z1 z2 zm xn

LFSR

Vector Boolean Function

x1 x2 z1 z2 zm

In standard correlation attack of vectorial Boolean functions,

we form linear approximation of the form:

). Pr( ) Pr(

1 1 1 1

x w z b x w x w z b z b

n n m m

⋅ = ⋅ = ⊕ ⊕ = ⊕ ⊕ L L

slide-5
SLIDE 5

Linear Bias and Nonlinearity

For correlation attack to succeed, we require

where z = F(x) is the output. I.e. probability far away from ½.

This is equivalent to the condition that nonlinearity

high. be to 2 / 1 ) Pr( Bias − ⋅ = ⋅ = x w z b

low, is ) 1 ( max 2 1 2

) 2 ( ) ( 1

,

∈ ⋅ + ⋅ −

− − =

≠ n b w

GF x x w x F b n F

N

slide-6
SLIDE 6

Zhang-Chan Attack

At Crypto 2000, Zhang and Chan noticed that z=F(x) is

known, therefore we can consider which is linear in x for any Boolean function g(⋅).

Because approximation of b⋅z is a particular case of

approximation of g(z). It is easier to get a better linear approximation, i.e. get Pr(g(z)= w⋅x) further away from ½ than Pr(b⋅z = w⋅x).

) ) ( Pr( ) ) ( Pr(

1 1

x w z g x w x w z g

n n

⋅ = = ⊕ ⊕ = L

slide-7
SLIDE 7

Zhang-Chan Attack

For Zhang-Chan attack to succeed, we require

where z=F(x) is known.

This is equivalent to the condition that unrestricted

nonlinearity low, is ) 1 ( max 2 1 2

n ) ( ,

GF(2) x )) ( ( 1

∈ ⋅ + −

− − =

⋅ ≠

x w x F g n F

g w

UN

high. be to 2 / 1 ) ) ( Pr( Bias − ⋅ = = x w z g

slide-8
SLIDE 8

Generalized Correlation

slide-9
SLIDE 9

Generalized Correlation Attack

We still want to get approximations which are linear in

x.

The most general approximation which is linear in x:

where wi(z) are Boolean functions of the known output z and w(z)=(w1(z),…, wn(z)) ) ) ( ) ( Pr( ) ) ( ) ( ) ( Pr(

1 1

x z w z g x z w x z w z g

n n

⋅ = = ⊕ ⊕ = L

slide-10
SLIDE 10

Generalized Correlation Attack

For generalized correlation attack to succeed, we

require where z=F(x) is known.

This is equivalent to the condition that generalized

nonlinearity

high. be to 2 / 1 ) ) ( ) ( Pr( Bias − ⋅ = = x z w z g low, is ) 1 ( max 2 1 2

) 2 ( )) ( ( )) ( ( ) ( , ) ( 1

∈ ⋅ + ⋅ ≠ ⋅ −

− − =

n

GF x x x F w x F g g w n F

GN

slide-11
SLIDE 11

Generalized Correlation Attack

g(z)= w(z)⋅x is a more general approximation than

g(z)= w⋅x, which in turn is a more general approximation than b⋅z = w⋅x.

Therefore Pr(g(z)= w(z)⋅x) can be chosen to be further

away from ½ than the other two approximations.

In terms of nonlinearities,

GNF ≤ UNF ≤ NF

slide-12
SLIDE 12

From a Cipher Designer’s Viewpoint

From the viewpoint of a stream cipher designer, he

needs to ensure generalized nonlinearity GNF is high for protection against correlation attack. Then automatically, UNF and NF will be high.

slide-13
SLIDE 13

Comparison of Generalized Correlation Attack with Known Methods

slide-14
SLIDE 14

An Example on Bent Functions

10 00 01 11 01 10 00 11 F(x)=(z1z2) 1111 1110 1101 1100 1011 1010 1001 1000 x=x1x2x3x4 11 10 01 00 00 00 00 00 F(x)=(z1z2) 0111 0110 0101 0100 0011 0010 0001 0000 x=x1x2x3x4

F(x) is a bent function from GF(2)4 to GF(2)2. We have NF=6 and UNF=5. This means the best affine approximation has probability 0.63 and 0.69 for usual and Zhang-Chan. For generalized correlation attack, we have GNF=2. The best generalized approximation has probability:

88 . ) ) 1 )( 1 ( Pr(

4 2 3 1 2 2 1 2 1

= + + + + = + x z x z x z z z z

slide-15
SLIDE 15

How much better is Generalized Correlation Attack?

Below is a table comparing average nonlinearities of

10000 randomly generated balanced functions from n-bits to n/2-bits:

5224 1101 213 36 6 GNF 7454 1768 407 88 16 UNF 7856 1897 443 100 18 NF 14 12 10 8 6 n

GNF is much lower than NF and UNF

slide-16
SLIDE 16

How much better is Generalized Correlation Attack?

Here’s the table for average best approximation

probability of the previous functions from n-bits to n/2-bits:

0.68 0.73 0.79 0.86 0.91 Probability (generalized) 0.55 0.57 0.60 0.66 0.75 Probability (Zhang-Chan) 0.52 0.54 0.57 0.61 0.72 Probability (usual) 14 12 10 8 6 n

Probability of generalized attack much further away from 0.5 than the other attacks

slide-17
SLIDE 17

Another Example on Inverse Function

Let us compare the various approximation probability

for x-1 on GF(28) restricted to m output bits.

1.00 1.00 1.00 0.84 0.74 0.69 0.56 Probability (generalized) 0.78 0.73 0.67 0.63 0.61 0.58 0.56 Probability (Zhang-Chan) 0.56 0.56 0.56 0.56 0.56 0.56 0.56 Probability (usual) 7 6 5 4 3 2 1 m

slide-18
SLIDE 18

Computation of Generalized Nonlinearity

slide-19
SLIDE 19

Since we saw that generalized correlation attack is

more powerful than known attacks, it is useful to compute the generalized nonlinearity.

We need to compute

  • ver all choices of g,w1,…,wn:GF(2)m→GF(2).

Computation of Generalized Nonlinearity

∈ + + +

n n n

GF x x x F w x x F w x F g ) 2 ( )) ( ( )) ( ( )) ( (

1 1

) 1 (

L

∈ ⋅ + ⋅ ≠ ⋅ −

− − =

n

GF x x x F w x F g g w n F

GN

) 2 ( )) ( ( )) ( ( ) ( , ) ( 1

) 1 ( max 2 1 2

slide-20
SLIDE 20

Computation of Generalized Nonlinearity

We need to compute

  • ver all choices of g,w1,…,wn:GF(2)m→GF(2).

Therefore complexity is approximately

( )

n n n n

m m

+ + +

= ×

) 1 ( 2 1 2

2 2 2

∈ + + +

n n n

GF x x x F w x x F w x F g ) 2 ( )) ( ( )) ( ( )) ( (

1 1

) 1 (

L

Each of these n+1 functions have 22^m choices Each sum has complexity 2n

slide-21
SLIDE 21

More Efficient Computation of Generalized Nonlinearity

  • Theorem: The generalized nonlinearity

can be computed as Here we do not find the optimal functions w1(),…,wn() and g(), instead we just find an optimal vector w∈GF(2)n\{0} at each z.

∈ ⋅ + ⋅ ≠ ⋅ −

− − =

n

GF x x x F w x F g g w n F

GN

) 2 ( )) ( ( )) ( ( ) ( , ) ( 1

) 1 ( max 2 1 2

∑ ∑

∈ ∈ ⋅ ∈ −

− − =

m n

GF z z F x x w GF w n F

GN

) 2 ( ) ( } \{ ) 2 ( 1

1

) 1 ( max 2 1 2

slide-22
SLIDE 22

Complexity

The new complexity for computing generalized

nonlinearity is

This is much faster compared to original

complexity of

n n n GF z n

m

z F

2 ) 2 ( 1

2 2 ) 1 2 ( ) ( ) 1 2 ( ≈ − = × −

∈ −

∑ ∑

∈ ∈ ⋅ ∈ −

− − =

m n

GF z z F x x w GF w n F

GN

) 2 ( ) ( } \{ ) 2 ( 1

1

) 1 ( max 2 1 2

2n-1 choices for w Complexity for this sum is |F-1(z)|

n n

m

+ + ) 1 ( 2

2

slide-23
SLIDE 23

Upper Bound on Generalized Nonlinearity

slide-24
SLIDE 24

Upper Bound

Theorem: If F(x) is balanced, then an upper bound

for GNF:

This is much lower than the known upper bounds for

unrestricted nonlinearity UNF and nonlinearity NF:

1 2 1 2 2 2

1 1

− − − ≤

− − n m n n F

GN

1 2 / 1 2 2 2 2 2 1

2 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2

− − − −

− ≤ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎝ ⎛ − ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − − − + − − + − − − ≤

n n F n m m n m n n n m m n F

N UN

slide-25
SLIDE 25

For m≤n/2, the upper bound for unrestricted nonlinearity UNF does not improve on the Covering Radius Bound 2n-1-2n/2-1. The upper bound for generalized nonlinearity GNF does.

slide-26
SLIDE 26

Comparison of Upper Bound for NF,UNF and GNF

30724 7471 1794 423 97 22 Upp Bd GNF 32641 8129 2017 497 121 29 Upp Bd UNF 32640 8128 2016 496 120 28 Upp Bd NF 8 7 6 5 4 3 m=n/2 16 14 12 10 8 6 n

slide-27
SLIDE 27

Corresponding Bound for Probability of Best Approximation

≥0.531 ≥0.544 ≥0.562 ≥0.587 ≥0.621 ≥0.667 Probability (generalized) ≥0.502 ≥0.504 ≥0.508 ≥0.515 ≥0.530 ≥0.558 Probability (Zhang-Chan) ≥0.502 ≥0.504 ≥0.508 ≥0.516 ≥0.531 ≥0.563 Probability (usual) 8 7 6 5 4 3 m=n/2 16 14 12 10 8 6 n

slide-28
SLIDE 28

For m>n/2, the upper bound for unrestricted nonlinearity UNF does improve on the Covering Radius Bound but not by much. The upper bound for generalized nonlinearity GNF improves on the Covering Radius bound 2n-1-2n/2-1 by much more.

slide-29
SLIDE 29

Comparison of Upper Bound for NF,UNF and GNF

24577 6145 1325 332 65 17 Upp Bd GNF 32460 8090 1972 487 110 27 Upp Bd UNF 32640 8128 2016 496 120 28 Upp Bd NF 12 10 9 7 6 4 m=3n/4 16 14 12 10 8 6 n

slide-30
SLIDE 30

Corresponding Bound for Probability of Best Approximation

≥0.625 ≥0.625 ≥0.677 ≥0.676 ≥0.749 ≥0.744 Probability (generalized) ≥0.505 ≥0.506 ≥0.519 ≥0.524 ≥0.571 ≥0.587 Probability (Zhang-Chan) ≥0.502 ≥0.504 ≥0.508 ≥0.516 ≥0.531 ≥0.563 Probability (usual) 12 10 9 7 6 4 m=3n/4 16 14 12 10 8 6 n

slide-31
SLIDE 31

Thus we have further evidence that generalized correlation attack is more effective than Zhang-Chan and usual correlation attack

  • n vector Boolean functions.
slide-32
SLIDE 32

Generalized Resiliency

slide-33
SLIDE 33

Siegenthaler’s Attack

  • Suppose there exists a correlation Pr(x1=z1⊕z2) = ¾.
  • Then we guess the content of LFSR1
  • If our guess is correct, LFSR1 sequence matches the known

keystream z1⊕z2 with probability ¾.

  • If not, LFSR1 sequence matches the keystream with probability ½.
  • Reduction in attack complexity: Instead of attacking all LFSR’s

simultaneously, we attack one LFSR separately and then the

  • thers.

LFSR 1 LFSR 2 LFSR n

Vector Boolean Function

x1 x2 xn z1 z2 zm

slide-34
SLIDE 34

Resiliency

To prevent against the previous attack, we want to

avoid linear approximations which involve too few input variables.

A function F:GF(2)n→GF(2)m is called correlation

immune of order k if Pr(b·z = w·x) = ½ for all b∈GF(2)m\{0} whenever 1≤wt(w)≤k. If furthermore, F(x) is balanced, then we say F(x) is k- resilient.

slide-35
SLIDE 35

Generalized Siegenthaler’s Attack

  • Suppose for a set of output vectors, e.g. z = 0000, 0001, 0010,

0111,… there exists good approximations Pr(L1(x,z)=0) = p1≠½, Pr(L2(x,z)=0) = p2≠½,… which are linear in x and involve only k variables x1,…,xk (where k is small) out of n variables x1,…,xn.

  • We can attack k LFSR’s instead of all n LFSR’s. E.g. guess the

contents of the k LFSR’s and see if they satisfy the approximations Pr(L1(x,z)=0) = p1≠½, Pr(L2(x,z)=0) = p2≠½,…

slide-36
SLIDE 36

Generalized Resiliency

To prevent against the previous attack, we want to avoid

linear approximations Pr(L(x,z)=0)=p≠½ which involve too few input variables x1,…,xn for any subset of output z.

A function F:GF(2)n→GF(2)m is called generalized

correlation immune of order k if for all z∈GF(2)m Pr(g(z)⊕w1(z)x1 ⊕… ⊕ wn(z)xn) = ½ whenever wt(w1(z),…, wn(z))≤k. If furthermore, F(x) is balanced, then we say F(x) is generalized k-resilient.

slide-37
SLIDE 37

Equivalence between Resiliency and Generalized Resiliency

Theorem: A function F:GF(2)n→GF(2)m is correlation

immune of order k if and only if it is generalized correlation immune of order k.

The above statement is true if we replace correlation

immune with resilient.

slide-38
SLIDE 38

Generalized Nonlinearity of Secondary Constructions

slide-39
SLIDE 39

Output Composition

It is common to form balanced highly nonlinear vectorial

functions by dropping output bits of a highly nonlinear permutation, e.g. x-1, x2^k+1. The nonlinearity NF is preserved in this case. We prove the following generalization.

Proposition: Let F:GF(2)n→GF(2)m and G:GF(2)m→GF(2)k

be balanced vector functions. Then GNG°F ≥ GNF.

If G(x) is a permutation, then GNG°F = GNF.

slide-40
SLIDE 40

Concatenation

By our previous result, a resilient function is also

generalized resilient.

Therefore we would like to check that secondary

constructions for resilient functions yield high generalized nonlinearity.

A secondary construction for resilient function we will

look at is concatenation.

slide-41
SLIDE 41

Concatenation

Proposition (Zhang-Zheng): Let F:GF(2)n→GF(2)m be

t1-resilient and G:GF(2)p→GF(2)q be t2-resilient. Then H:GF(2)n+p→GF(2)m+q defined by H(x,y)=(F(x),G(y)) is a t- resilient function where t=min(t1,t2).

Proposition: For H(x,y) as defined above:

GNH ≤ 2n+p-1 - ½(2n-2GNF)(2p-2GNG)

Thus for H(x,y) to have high generalized nonlinearity, both

component functions F(x) and G(y) must have high generalized nonlinearity.