Generalized Correlation Analysis
- f Vectorial Boolean Functions
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
In this talk, we shall improve correlation attacks on
Will consider vectorial Boolean functions in combinatorial
Will not go into the details of the correlation attack.
Focus on how to obtain good linear approximation.
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,
1 1 1 1
n n m m
For correlation attack to succeed, we require
This is equivalent to the condition that nonlinearity
) 2 ( ) ( 1
,
∈ ⋅ + ⋅ −
≠ n b w
GF x x w x F b n F
At Crypto 2000, Zhang and Chan noticed that z=F(x) is
Because approximation of b⋅z is a particular case of
1 1
n n
For Zhang-Chan attack to succeed, we require
This is equivalent to the condition that unrestricted
n ) ( ,
GF(2) x )) ( ( 1
∈ ⋅ + −
⋅ ≠
x w x F g n F
g w
We still want to get approximations which are linear in
The most general approximation which is linear in x:
1 1
n n
For generalized correlation attack to succeed, we
This is equivalent to the condition that generalized
) 2 ( )) ( ( )) ( ( ) ( , ) ( 1
∈ ⋅ + ⋅ ≠ ⋅ −
n
GF x x x F w x F g g w n F
g(z)= w(z)⋅x is a more general approximation than
Therefore Pr(g(z)= w(z)⋅x) can be chosen to be further
In terms of nonlinearities,
From the viewpoint of a stream cipher designer, he
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
4 2 3 1 2 2 1 2 1
Below is a table comparing average nonlinearities of
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
Here’s the table for average best approximation
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
Let us compare the various approximation probability
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
Since we saw that generalized correlation attack is
We need to compute
∈ + + +
n n n
GF x x x F w x x F w x F g ) 2 ( )) ( ( )) ( ( )) ( (
1 1
L
∈ ⋅ + ⋅ ≠ ⋅ −
n
GF x x x F w x F g g w n F
) 2 ( )) ( ( )) ( ( ) ( , ) ( 1
We need to compute
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
L
Each of these n+1 functions have 22^m choices Each sum has complexity 2n
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
) 2 ( )) ( ( )) ( ( ) ( , ) ( 1
∈ ∈ ⋅ ∈ −
−
m n
GF z z F x x w GF w n F
) 2 ( ) ( } \{ ) 2 ( 1
1
The new complexity for computing generalized
This is much faster compared to original
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
) 2 ( ) ( } \{ ) 2 ( 1
1
2n-1 choices for w Complexity for this sum is |F-1(z)|
n n
m
+ + ) 1 ( 2
Theorem: If F(x) is balanced, then an upper bound
This is much lower than the known upper bounds for
1 1
− − n m n n F
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
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
≥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
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
≥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
keystream z1⊕z2 with probability ¾.
simultaneously, we attack one LFSR separately and then the
LFSR 1 LFSR 2 LFSR n
Vector Boolean Function
x1 x2 xn z1 z2 zm
To prevent against the previous attack, we want to
A function F:GF(2)n→GF(2)m is called correlation
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.
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≠½,…
To prevent against the previous attack, we want to avoid
A function F:GF(2)n→GF(2)m is called generalized
Theorem: A function F:GF(2)n→GF(2)m is correlation
The above statement is true if we replace correlation
It is common to form balanced highly nonlinear vectorial
Proposition: Let F:GF(2)n→GF(2)m and G:GF(2)m→GF(2)k
If G(x) is a permutation, then GNG°F = GNF.
By our previous result, a resilient function is also
Therefore we would like to check that secondary
A secondary construction for resilient function we will
Proposition (Zhang-Zheng): Let F:GF(2)n→GF(2)m be
Proposition: For H(x,y) as defined above:
Thus for H(x,y) to have high generalized nonlinearity, both