Multiple Differential Cryptanalysis: Theory and Practice C eline - - PowerPoint PPT Presentation

multiple differential cryptanalysis theory and practice
SMART_READER_LITE
LIVE PREVIEW

Multiple Differential Cryptanalysis: Theory and Practice C eline - - PowerPoint PPT Presentation

Multiple Differential Cryptanalysis: Theory and Practice C eline Blondeau, Beno t G erard SECRET-Project-Team, INRIA, France aaa FSE, February 14th, 2011 C.Blondeau and B.G erard. Multiple differential cryptanalysis 1/ 20


slide-1
SLIDE 1

Multiple Differential Cryptanalysis: Theory and Practice

C´ eline Blondeau, Benoˆ ıt G´ erard

SECRET-Project-Team, INRIA, France

aaa FSE, February 14th, 2011

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 1/ 20

slide-2
SLIDE 2

Outline

1

Multiple differential cryptanalysis

2

Data complexity and success probability

3

Attack on PRESENT

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 2/ 20

slide-3
SLIDE 3

Outline

1

Multiple differential cryptanalysis

2

Data complexity and success probability

3

Attack on PRESENT

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 3/ 20

slide-4
SLIDE 4

Differential cryptanalysis [Biham-Shamir 1990]

Differential

✲ ✲ ✲ ✲ ✻ ❄

δ0

✻ ❄

δr FKr ◦ · · · ◦ FK1 FKr ◦ · · · ◦ FK1

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 4/ 20

slide-5
SLIDE 5

Differential cryptanalysis [Biham-Shamir 1990]

Differential

✲ ✲ ✲ ✲ ✻ ❄

δ0

✻ ❄

δr FKr ◦ · · · ◦ FK1 FKr ◦ · · · ◦ FK1 Differential probability Pr [δ0 → δr] def = PrX,K [F r

K(x) ⊕ F r K(x ⊕ δ0) = δr] .

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 4/ 20

slide-6
SLIDE 6

Differential cryptanalysis [Biham-Shamir 1990]

Differential cryptanalysis

✲ ✲

x x′ = x ⊕ δ0

✲ ✲ ✲ ✲

? ?

✲ ✲ y

y′

✻ ❄

δ0 FKr ◦ · · · ◦ FK1 FKr ◦ · · · ◦ FK1 FKr+1 FKr+1

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 4/ 20

slide-7
SLIDE 7

Differential cryptanalysis [Biham-Shamir 1990]

Last round attack

✲ ✲

x x′ = x ⊕ δ0

✲ ✲ ✲ ✲

? ?

✲ ✲ y

y′

✻ ❄

δ0

✻ ❄

δr FKr ◦ · · · ◦ FK1 FKr ◦ · · · ◦ FK1 FKr+1 FKr+1 F −1

k

F −1

k

✬ ✩ ❄ ✫ ✪ ✻

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 4/ 20

slide-8
SLIDE 8

Differential cryptanalysis [Biham-Shamir 1990]

Last round attack

✲ ✲

x x′ = x ⊕ δ0

✲ ✲ ✲ ✲

? ?

✲ ✲ y

y′

✻ ❄

δ0

✻ ❄

δr FKr ◦ · · · ◦ FK1 FKr ◦ · · · ◦ FK1 FKr+1 FKr+1 F −1

k

F −1

k

✬ ✩ ❄ ✫ ✪ ✻

Basic Principle: For each last-round subkey candidate k, compute C(k) = #{(y, y′) such that F −1

k (y) ⊕ F −1 k (y′) = δr}

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 4/ 20

slide-9
SLIDE 9

Wrong Key Randomization Hypothesis

Cx(k) def =

  • 1 if F −1

k (y) ⊕ F −1 k (y′) = δr,

0 otherwise. C(k) def =

  • x

Cx(k). Hypothesis

PrX

  • F −1

k

(y) ⊕ F −1

k

(y ′) = δr

  • =

p∗ if k = Kr+1, p if k = Kr+1.

Counters Cx(k) follows a Bernoulli distribution of parameter p∗ or p. ⇒ C(k) follows a Binomial distribution.

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 5/ 20

slide-10
SLIDE 10

Previous Works

Previous works using many differentials: [Biham Shamir 1990] Collection of differentials with same output difference. [Knudsen 1994] Collection of differentials with same input difference. [Sugita et al. 2000] Same set of output differences for each input difference.

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 6/ 20

slide-11
SLIDE 11

Multiple differential cryptanalysis

Collection of differentials (δ(1)

0 , δ(1,1) r

) (δ(1)

0 , δ(1,2) r

) · · · (δ(1)

0 , δ(1,5) r

) (δ(2)

0 , δ(2,1) r

) (δ(2)

0 , δ(2,2) r

) · · · (δ(2)

0 , δ(2,9) r

) (δ(3)

0 , δ(3,1) r

) (δ(3)

0 , δ(3,2) r

) · · · (δ(3)

0 , δ(3,7) r

)          δ(1) δ(2) δ(3)                ∆0

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 7/ 20

slide-12
SLIDE 12

Multiple differential cryptanalysis

Collection of differentials (δ(1)

0 , δ(1,1) r

) (δ(1)

0 , δ(1,2) r

) · · · (δ(1)

0 , δ(1,5) r

) (δ(2)

0 , δ(2,1) r

) (δ(2)

0 , δ(2,2) r

) · · · (δ(2)

0 , δ(2,9) r

) (δ(3)

0 , δ(3,1) r

) (δ(3)

0 , δ(3,2) r

) · · · (δ(3)

0 , δ(3,7) r

)          δ(1) δ(2) δ(3)                ∆0 p(i,j)

: Probability of the differential (δ(i)

0 , δ(i,j) r

)

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 7/ 20

slide-13
SLIDE 13

Multiple differential cryptanalysis

Collection of differentials (δ(1)

0 , δ(1,1) r

) (δ(1)

0 , δ(1,2) r

) · · · (δ(1)

0 , δ(1,5) r

) (δ(2)

0 , δ(2,1) r

) (δ(2)

0 , δ(2,2) r

) · · · (δ(2)

0 , δ(2,9) r

) (δ(3)

0 , δ(3,1) r

) (δ(3)

0 , δ(3,2) r

) · · · (δ(3)

0 , δ(3,7) r

)          δ(1) δ(2) δ(3)                ∆0 p(i,j)

: Probability of the differential (δ(i)

0 , δ(i,j) r

) ∆(i)

r : Set of output differences for the i-th input difference.

∆0: Set of input differences.

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 7/ 20

slide-14
SLIDE 14

The counters

C (i)

x (k) def

=

  • 1 if F −1

k

  • EK∗(x)
  • ⊕ F −1

k

  • EK∗(x ⊕ δ(i)

0 )

  • ∈ ∆(i)

r ,

0. Cx(k) def =

#∆0

  • i=1

C (i)

x (k)

and C(k) def =

  • x

Cx(k). C (i)

x (k) follows a Bernoulli distribution of parameter p(i) ∗

  • r p(i) where

p(i)

=

#∆(i)

r

  • j=1

p(i,j)

and p(i) = #∆(i)

r

· 2−m. What is the distribution of C(k)?

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 8/ 20

slide-15
SLIDE 15

Outline

1

Multiple differential cryptanalysis

2

Data complexity and success probability

3

Attack on PRESENT

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 9/ 20

slide-16
SLIDE 16

Poisson approximation

[Le Cam 1960]: Let C (i)

x (k) be some independent Bernoulli random variables with

probability p(i). Then Cx(k) def = #∆0

i=1 C (i) x (k) follows a distribution

close to a Poisson distribution of parameters λ = #∆0

i=1 p(i).

C(Kr+1) ∼

approx P

  • N

#∆0

  • i=0

p(i)

  • ,

C(k) ∼

approx P

  • N

#∆0

  • i=0

p(i)

  • .

The cumulative function GP is not a good estimate for the tails of the distribution of the counters !!!

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 10/ 20

slide-17
SLIDE 17

Tails of the cumulative functions

p∗

def

=

  • i p(i)

#∆0 and p def =

  • i p(i)

#∆0 Using [Gallager 1968]: G−(τ, q) def = Pr [C(k) ≤ τ#∆0N] ≈ e−#∆0·N·KL(τ||q) ·

  • q
  • (1 − τ)

(q − τ)√2πτ#∆0N + 1 √8πτ#∆0N

  • Where q = p∗ or p.

KL(τ||q) = τ log

  • τ

q

  • + (1 − τ) log
  • 1−τ

1−q

  • .

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 11/ 20

slide-18
SLIDE 18

Data complexity

In [Blondeau-G´ erard-Tillich-2010], the data complexity is computed by approximating one tail of binomial cumulative function with: 1 − e−N·KL(τ||p) (1 − p)√τ (τ − p)

  • 2πN(1 − τ)

.

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 12/ 20

slide-19
SLIDE 19

Data complexity

Here one tail of the cumulative function of the counters is: G+(τ, p) ≈ 1 − e−#∆0N·KL(τ||p)

  • (1 − p)√τ

(τ − p)

  • 2πN(1 − τ)

+ 1 √8π#∆0Nτ

  • .

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 12/ 20

slide-20
SLIDE 20

Data complexity

Here one tail of the cumulative function of the counters is: G+(τ, p) ≈ 1 − e−#∆0N·KL(τ||p)

  • (1 − p)√τ

(τ − p)

  • 2πN(1 − τ)

+ 1 √8π#∆0Nτ

  • .

With similar arguments, the data complexity is N ≈ −2 · ln(2√πℓ 2−n) #∆0KL(p∗||p). Where: n: Number of bits of the subkey, ℓ: Size of the list of kept candidates.

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 12/ 20

slide-21
SLIDE 21

Success probability

Success probability: Ps ≈ 1 − G∗

  • G −1
  • 1 − ℓ − 1

2n − 2

  • − 1
  • ,

where G and G∗ are the cumulative functions of the distri- bution of the random variables. For G and G∗ we can take: Normal distribution ([Sel¸ cuk2007]) Poisson distribution (First Idea)

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 13/ 20

slide-22
SLIDE 22

Experiments on SMALLPRESENT-[8]

0.2 0.4 0.6 0.8 1 28.5 29 29.5 30 30.5 31 PS log2(N) Poisson Normal Experimental

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 14/ 20

slide-23
SLIDE 23

Distribution of the counters

We use the following estimate for the cumulative function of the C(k)’s: G(x, q) =    G−(x, q) if x < q − 3 ·

  • q/N,

G+(x, q) if x > q + 3 ·

  • q/N,

GP(x, q) otherwise. G∗(x) = G(x, p∗) G(x) = G(x, p)

G(τ, q) τ

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 15/ 20

slide-24
SLIDE 24

Experiments on SMALLPRESENT-[8]

0.2 0.4 0.6 0.8 1 28.5 29 29.5 30 30.5 31 PS log2(N) Ours Poisson Normal Experimental

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 16/ 20

slide-25
SLIDE 25

Outline

1

Multiple differential cryptanalysis

2

Data complexity and success probability

3

Attack on PRESENT

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 17/ 20

slide-26
SLIDE 26

PRESENT [Bogdanov et al. 2007]

PRESENT: Plaintext: 64 bits Key: 80 bits Rounds: 31

⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕

S15 S14 S13 S12 S11 S10 S 9 S 8 S 7 S 6 S 5 S 4 S 3 S 2 S 1 S 0

⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕⊕

Multidimensional linear attack [Cho 2010]: Rounds: 26 Data complexity: 264.0 Time complexity: 272.0 Memory complexity: 232.0 Differential Attack [Wang 2008]: Rounds: 16 Data complexity: 264.0 Time complexity: 264.0 Memory complexity: 232.0

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 18/ 20

slide-27
SLIDE 27

Attack on PRESENT

Setting:

Differentials on 16 rounds ⇒ attack on 18 rounds. #∆0 = 16, #∆(i)

r

= 33, #∆sieve ≈ 232. p∗ = 2−58.52 and p = 2−58.96.

Attack: N ℓ PS time complexity 260 251 76% 279.00 262 247 81% 275.04 264 236 94% 271.72

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 19/ 20

slide-28
SLIDE 28

Conclusions

Conclusions We have analysed the distribution of the counter when the sum of the simple random variables is taken. ⇒ Formula of the data complexity ⇒ Formula of the success probability Perspectives: Study complexities of multiple differential cryptanalysis by using other statistical tests.

C.Blondeau and B.G´ erard. Multiple differential cryptanalysis 20/ 20