Low-Memory Attacks against 2-Round Even-Mansour using the 3-XOR - - PowerPoint PPT Presentation

low memory attacks against 2 round even mansour using the
SMART_READER_LITE
LIVE PREVIEW

Low-Memory Attacks against 2-Round Even-Mansour using the 3-XOR - - PowerPoint PPT Presentation

Introduction First attack Clamping attacks Low-Data Attack Conclusion Low-Memory Attacks against 2-Round Even-Mansour using the 3-XOR Problem Gatan Leurent, Ferdinand Sibleyras Inria, France Crypto 2019 1 / 23 Introduction First attack


slide-1
SLIDE 1

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Low-Memory Attacks against 2-Round Even-Mansour using the 3-XOR Problem

Gaëtan Leurent, Ferdinand Sibleyras

Inria, France

Crypto 2019

1 / 23

slide-2
SLIDE 2

Introduction First attack Clamping attacks Low-Data Attack Conclusion

1-Round Even-Mansour

Most-Simple permutation-based block cipher. Original by Even and Mansour, Asiacrypt 91. Single-key by Dunkelman et al., Eurocrypt 2012. 1EM

P K K m E(m)

2 / 23

slide-3
SLIDE 3

Introduction First attack Clamping attacks Low-Data Attack Conclusion

1-Round Even-Mansour

Most-Simple permutation-based block cipher. Original by Even and Mansour, Asiacrypt 91. Single-key by Dunkelman et al., Eurocrypt 2012. n-bit to n-bit public permutation P. n-bit secret key K.

  • secure block cipher E.

1EM

P K K m E(m)

2 / 23

slide-4
SLIDE 4

Introduction First attack Clamping attacks Low-Data Attack Conclusion

1-Round Even-Mansour

Most-Simple permutation-based block cipher. Original by Even and Mansour, Asiacrypt 91. Single-key by Dunkelman et al., Eurocrypt 2012. n-bit to n-bit public permutation P. n-bit secret key K.

  • secure block cipher E.

D = number of calls to keyed E, Q = number of calls to the public P, 1EM provable security up to DQ ≪ 2n. = ⇒ Security up to birthday bound 2n/2. 1EM

P K K m E(m)

2 / 23

slide-5
SLIDE 5

Introduction First attack Clamping attacks Low-Data Attack Conclusion

1-Round Even-Mansour

Cryptanalysis in DQ = DT = 2n originally by Daemen, Asiacrypt 91. 1EM

P K K m E(m)

3 / 23

slide-6
SLIDE 6

Introduction First attack Clamping attacks Low-Data Attack Conclusion

1-Round Even-Mansour

Cryptanalysis in DQ = DT = 2n originally by Daemen, Asiacrypt 91. ∀x, y ∈ {0, 1}n, x ⊕ y = K ⇐ ⇒ P(y) ⊕ E(x) = K 1EM

P K K x P(y) y E(x)

3 / 23

slide-7
SLIDE 7

Introduction First attack Clamping attacks Low-Data Attack Conclusion

1-Round Even-Mansour

Cryptanalysis in DQ = DT = 2n originally by Daemen, Asiacrypt 91. ∀x, y ∈ {0, 1}n, x ⊕ y = K ⇐ ⇒ P(y) ⊕ E(x) = K = ⇒ x ⊕ E(x) ⊕ y ⊕ P(y) = 0 1EM

P K K x P(y) y E(x)

3 / 23

slide-8
SLIDE 8

Introduction First attack Clamping attacks Low-Data Attack Conclusion

1-Round Even-Mansour

Cryptanalysis in DQ = DT = 2n originally by Daemen, Asiacrypt 91. ∀x, y ∈ {0, 1}n, x ⊕ y = K ⇐ ⇒ P(y) ⊕ E(x) = K = ⇒ x ⊕ E(x) ⊕ y ⊕ P(y) = 0 Cryptanalysis via n-bit collision search Let f0(x) = x ⊕ E(x) and f1(y) = y ⊕ P(y). Find a collision between f0 and f1, guess K = x ⊕ y. = ⇒ No gap between the best proofs and attacks. 1EM

P K K x P(y) y E(x)

3 / 23

slide-9
SLIDE 9

Introduction First attack Clamping attacks Low-Data Attack Conclusion

2-Round Even-Mansour

Extension by Bogdanov et al., Eurocrypt 2012. Keeps it simple and secure beyond birthday-bound. 2EM

P1 P2 K K K m E(m)

4 / 23

slide-10
SLIDE 10

Introduction First attack Clamping attacks Low-Data Attack Conclusion

2-Round Even-Mansour

Extension by Bogdanov et al., Eurocrypt 2012. Keeps it simple and secure beyond birthday-bound. Provably secure up to 22n/3. Best cryptanalysis time complexity: T = 2n/n. 2EM

P1 P2 K K K m E(m)

4 / 23

slide-11
SLIDE 11

Introduction First attack Clamping attacks Low-Data Attack Conclusion

2-Round Even-Mansour

Extension by Bogdanov et al., Eurocrypt 2012. Keeps it simple and secure beyond birthday-bound. Provably secure up to 22n/3. Best cryptanalysis time complexity: T = 2n/n. GAP There remains a significant gap between the proof, 22n/3, and the best attacks in T = 2n/n. 2EM

P1 P2 K K K m E(m)

4 / 23

slide-12
SLIDE 12

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Our Approach

Best information theoretic attack trade-off: DQ2 = 22n. This matches the proof only in D = Q = 22n/3. Best time complexity cryptanalysis in T = 2n/n but it uses also a lot

  • f memory and/or online data!

2EM

P1 P2 K K K m E(m)

5 / 23

slide-13
SLIDE 13

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Our Approach

Best information theoretic attack trade-off: DQ2 = 22n. This matches the proof only in D = Q = 22n/3. Best time complexity cryptanalysis in T = 2n/n but it uses also a lot

  • f memory and/or online data!

In this work, we use the fact that: ∀x, y, z ∈ {0, 1}n,

  • x ⊕ y

= K P1(y) ⊕ z = K ⇐ ⇒

      

x ⊕ y = K P1(y) ⊕ z = K P2(z) ⊕ E(x) = K 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

5 / 23

slide-14
SLIDE 14

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Our Approach

Best information theoretic attack trade-off: DQ2 = 22n. This matches the proof only in D = Q = 22n/3. Best time complexity cryptanalysis in T = 2n/n but it uses also a lot

  • f memory and/or online data!

In this work, we use the fact that: ∀x, y, z ∈ {0, 1}n,

  • x ⊕ y

= K P1(y) ⊕ z = K ⇐ ⇒

      

x ⊕ y = K P1(y) ⊕ z = K P2(z) ⊕ E(x) = K = ⇒

  • x

⊕ y ⊕ P1(y) ⊕ z = 0 x ⊕ E(x) ⊕ y ⊕ P2(z) = 0 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

5 / 23

slide-15
SLIDE 15

Introduction First attack Clamping attacks Low-Data Attack Conclusion

First result : A Link to the 3-XOR

  

x ⊕ y ⊕ P1(y) ⊕ z = 0 x ⊕ E(x) ⊕ y ⊕ P2(z) = 0

2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

6 / 23

slide-16
SLIDE 16

Introduction First attack Clamping attacks Low-Data Attack Conclusion

First result : A Link to the 3-XOR

  

x ⊕ y ⊕ P1(y) ⊕ z = 0 x ⊕ E(x) ⊕ y ⊕ P2(z) = 0

Cryptanalysis via the 3-XOR Problem with 2n-bit functions

f0(x)= x || x ⊕ E(x) f1(y)= y ⊕ P1(y) || y f2(z)= z || P2(z)

Solve the 3-XOR problem between f0, f1 and f2. Guess K = x ⊕ y. 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

6 / 23

slide-17
SLIDE 17

Introduction First attack Clamping attacks Low-Data Attack Conclusion

3-XOR Problem

Definition (Collision problem) Given two functions f0, f1, find two inputs (x0, x1) such that f0(x0) ⊕ f1(x1) = 0.

7 / 23

slide-18
SLIDE 18

Introduction First attack Clamping attacks Low-Data Attack Conclusion

3-XOR Problem

Definition (Collision problem) Given two functions f0, f1, find two inputs (x0, x1) such that f0(x0) ⊕ f1(x1) = 0. Definition (3-XOR problem) Given three functions f0, f1, f2, find three inputs (x0, x1, x2) such that f0(x0) ⊕ f1(x1) ⊕ f2(x2) = 0.

7 / 23

slide-19
SLIDE 19

Introduction First attack Clamping attacks Low-Data Attack Conclusion

3-XOR Problem

Definition (Collision problem) Given two functions f0, f1, find two inputs (x0, x1) such that f0(x0) ⊕ f1(x1) = 0. Definition (3-XOR problem) Given three functions f0, f1, f2, find three inputs (x0, x1, x2) such that f0(x0) ⊕ f1(x1) ⊕ f2(x2) = 0. Definition (3-XOR problem with lists) Given three lists L0, L1, L2, find three elements (e0, e1, e2) ∈ L0 × L1 × L2 such that e0 ⊕ e1 ⊕ e2 = 0.

7 / 23

slide-20
SLIDE 20

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Gap of the 3-XOR Problem

Definition (3-XOR problem with lists) Given three lists L0, L1, L2, find three elements (e0, e1, e2) ∈ L0 × L1 × L2 such that e0 ⊕ e1 ⊕ e2 = 0. Cryptanalysis of n-bit 2EM as a 3-XOR with 2n-bit elements.

8 / 23

slide-21
SLIDE 21

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Gap of the 3-XOR Problem

Definition (3-XOR problem with lists) Given three lists L0, L1, L2, find three elements (e0, e1, e2) ∈ L0 × L1 × L2 such that e0 ⊕ e1 ⊕ e2 = 0. Cryptanalysis of n-bit 2EM as a 3-XOR with 2n-bit elements. Solving Random 3-XOR with 2n-bit elements Requires |L0| · |L1| · |L2| = 22n so at least one list of size 22n/3. |L0| = |L1| = |L2| = 22n/3 is enough: compute sum of all triples to find a solution. So we have a proof and Information Theoretical attack in 22n/3. However best algorithms run in time T = O(2n/n)...

8 / 23

slide-22
SLIDE 22

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Gap of the 3-XOR Problem

Definition (3-XOR problem with lists) Given three lists L0, L1, L2, find three elements (e0, e1, e2) ∈ L0 × L1 × L2 such that e0 ⊕ e1 ⊕ e2 = 0. Cryptanalysis of n-bit 2EM as a 3-XOR with 2n-bit elements. Solving Random 3-XOR with 2n-bit elements Requires |L0| · |L1| · |L2| = 22n so at least one list of size 22n/3. |L0| = |L1| = |L2| = 22n/3 is enough: compute sum of all triples to find a solution. So we have a proof and Information Theoretical attack in 22n/3. However best algorithms run in time T = O(2n/n)... = ⇒ We found the same gap... again !

8 / 23

slide-23
SLIDE 23

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Our Strategy

3-XOR solving Two main techniques: Multicollision based [Nikolic&Sasaki15] and Linear algebra based [Joux09]. Roughly same asymptotic time complexity.

9 / 23

slide-24
SLIDE 24

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Our Strategy

3-XOR solving Two main techniques: Multicollision based [Nikolic&Sasaki15] and Linear algebra based [Joux09]. Roughly same asymptotic time complexity. 2EM cryptanalysis Except for one, [DDKS16], all previous cryptanalysis use multicollision based techniques. Exhibiting the link to 3-XOR allows us to deeply explore linear algebra based techniques for cryptanalysis. Benefits : Reduced online complexity AND memory both arguably costlier than time.

9 / 23

slide-25
SLIDE 25

Introduction First attack Clamping attacks Low-Data Attack Conclusion

2-Round Even-Mansour: Results

Ref Data Queries Time Memory Param. [NWW13] 2n ln n/n KP 2n ln n/n 2n ln n/n 2n ln n/n [DDKS13] 2λn KP 2n ln n/n 2n ln n/n 2n ln n/n [DDKS16] 2n/λn CP 2n/λn 2n/λn 2λn 0 < λ < 1

3

[IsoShi17] 2n ln n/n CP 2n ln n/n 2n ln n/n 2n ln n/n 2λn CP 2n ln n/n 2n ln n/n 2n ln n/n 2nβ/n CP 2n/2β 2nβ/n 2n/2β log n ≤ β < n This Work n KP 2n/√n 2n/√n 2n/√n This Work 2d KP 2n−d/2 2n/n 2n−d/2 0 < d < n This Work 2d KP 2n−d/2 2n ln2 n/n2 2n−d/2 0 < d < n This Work λn KP 2n/λn 2n/λn 2λn 0 < λ < 1 red means ˜ Θ(2n)

10 / 23

slide-26
SLIDE 26

Introduction First attack Clamping attacks Low-Data Attack Conclusion

First attack on 2EM

  • 1. L0 ∋

x || x ⊕ E(x)

  • 2. L1 ∋ y ⊕ P1(y) ||

y

  • 3. L2 ∋

z || P2(z)

  • 4. Solve the 3-XOR over L0, L1, L2.
  • 5. Guess K = x ⊕ y for the solution found.

2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

11 / 23

slide-27
SLIDE 27

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Joux’s Technique 2n bits n words L0 = 1 . 1 1 1 1 . 1 . 1 . . 1 1 . . . 1 . . . . 1 . . 1 . . . 1 1 1 1 . . . . 1 1 1 1 1 1 1 1 . 1 1 . 1 1 1 . . 1 1 1 1 . . . . 1 . 1 1 . . 1 . . . . . 1 . 1 1 1 . 1 . . 1 1 1 1 1 1 1 1 . . . 1 . 1 1 . . 1 1 1 . . . 1 . 1 1 1 1 . 1 1 1 1 1 1 . 1 . 1 1 1 . . . 1 1 1 1 . 1 . . . 1 1 1 . 1 . 1 1 . 1 . 1 . 1 1 1 . . 1 . . 1 1 1 1 1 . . 1 1 1 1 . 1 1 . . 1 . . 1 . . 1 . . . 1 1 . 1 . 1 . 1 . . . 1 1 . 1 1 1 . 1 . 1 . 1 1 . 1 . 1 1 . . 1 1 1 1 1 1 1 1 1 . 1 1 . 1 1 .

12 / 23

slide-28
SLIDE 28

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Joux’s Technique 2n bits n words L0 · M = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1

e0 ⊕ e1 ⊕ e2 = 0 ⇐ ⇒ e0 · M ⊕ e1 · M ⊕ e2 · M = 0 3-XOR with L0, L1, L2 ⇐ ⇒ 3-XOR with L0 · M, L1 · M, L2 · M

12 / 23

slide-29
SLIDE 29

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Joux’s Technique

  • 1. Compute M s.t. L0 · M = 0n||In;
  • 2. L′

1 = L1 · M;

  • 3. L′

2 = L2 · M;

  • 4. Look for partial n-bit collisions between L′

1 and L′ 2;

  • 5. Check if Solution.

Complexity |L0| = n |L1| = |L2| = 2n

√n

= ⇒ |L0| · |L1| · |L2| = 22n O( 2n

√n) memory and computations.

13 / 23

slide-30
SLIDE 30

Introduction First attack Clamping attacks Low-Data Attack Conclusion

First attack on 2EM

  • 1. L0 ∋

x || x ⊕ E(x)

  • 2. L1 ∋

y ⊕ P1(y) || y

  • 3. L2 ∋

z || P2(z)

  • 4. Solve the 3-XOR over L0, L1, L2.
  • 5. Guess K = x ⊕ y for the solution found.

Complexity using Joux’s technique w = 2n D = n online queries (Known Plaintext) Q = 2n

√n offline queries

O( 2n

√n) memory and computations.

2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

14 / 23

slide-31
SLIDE 31

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Easy Clamping

We are NOT in the random 3-XOR case.

  • 1. L0 ∋

x || x ⊕ E(x)

  • 2. L1 ∋

y ⊕ P1(y) || y

  • 3. L2 ∋

z || P2(z) 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

15 / 23

slide-32
SLIDE 32

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Easy Clamping

We are NOT in the random 3-XOR case.

  • 1. L0 ∋

x || x ⊕ E(x)

  • 2. L1 ∋

y ⊕ P1(y) || y

  • 3. L2 ∋

P−1

2 (z′)

|| z′ 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

15 / 23

slide-33
SLIDE 33

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Easy Clamping

We are NOT in the random 3-XOR case.

  • 1. L0 ∋

x || x ⊕ E(x)

  • 2. L1 ∋

y ⊕ P1(y) || y

  • 3. L2 ∋

P−1

2 (z′)

|| z′ Let D = 2d thus Q = 2n−d/2 = ⇒ DQ2 = 22n Only compute for y and z′ with d/2 trailing zeroes. Only keep x ⊕ E(x) with d/2 trailing zeroes. 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

15 / 23

slide-34
SLIDE 34

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Easy Clamping

We are NOT in the random 3-XOR case.

  • 1. L0 ∋

x || x ⊕ E(x)

  • 2. L1 ∋

y ⊕ P1(y) || ∗ ∗ |0

  • 3. L2 ∋

P−1

2 (z′)

|| ∗ ∗ |0 Let D = 2d thus Q = 2n−d/2 = ⇒ DQ2 = 22n Only compute for y and z′ with d/2 trailing zeroes. Only keep x ⊕ E(x) with d/2 trailing zeroes. 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

15 / 23

slide-35
SLIDE 35

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Easy Clamping

We are NOT in the random 3-XOR case.

  • 1. L0 ∋

x || x ⊕ E(x)

  • 2. L1 ∋

y ⊕ P1(y) || ∗ ∗ |0

  • 3. L2 ∋

P−1

2 (z′)

|| ∗ ∗ |0 Let D = 2d thus Q = 2n−d/2 = ⇒ DQ2 = 22n Only compute for y and z′ with d/2 trailing zeroes. Only keep x ⊕ E(x) with d/2 trailing zeroes. 3-XOR after clamping |L0| = D/2d/2 = 2d/2 |L1| = |L2| = Q = 2n−d/2 Reduced lists of 2n − d/2-bit elements. 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

15 / 23

slide-36
SLIDE 36

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Other 3-XOR algorithms

Generalized 3-XOR algorithm for w-bit elements and |L0| · |L1| · |L2| = 2w: Wagner’s generalized birthday Combine two lists and look for a collision. T = O

  • (|L0| · |L1|) + |L2|
  • M = O
  • |L1| + |L2|
  • And two more by [Bouillaguet, Delaplace, Fouque. ToSC 2018]:

16 / 23

slide-37
SLIDE 37

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Other 3-XOR algorithms

Generalized 3-XOR algorithm for w-bit elements and |L0| · |L1| · |L2| = 2w: Wagner’s generalized birthday Combine two lists and look for a collision. T = O

  • (|L0| · |L1|) + |L2|
  • M = O
  • |L1| + |L2|
  • And two more by [Bouillaguet, Delaplace, Fouque. ToSC 2018]:

Repeat O(|L0|/w) times Joux’s algorithm. Realistic 3-XOR algorithm. T = O

  • |L0| · (|L1| + |L2|)/w
  • M = O
  • |L1| + |L2|
  • 16 / 23
slide-38
SLIDE 38

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Other 3-XOR algorithms

Generalized 3-XOR algorithm for w-bit elements and |L0| · |L1| · |L2| = 2w: Wagner’s generalized birthday Combine two lists and look for a collision. T = O

  • (|L0| · |L1|) + |L2|
  • M = O
  • |L1| + |L2|
  • And two more by [Bouillaguet, Delaplace, Fouque. ToSC 2018]:

Repeat O(|L0|/w) times Joux’s algorithm. Realistic 3-XOR algorithm. T = O

  • |L0| · (|L1| + |L2|)/w
  • M = O
  • |L1| + |L2|
  • Revisited Baran-Demaine-Pˇ

atraşcu 3-SUM algorithm Best known asymptotic complexity but impractical for realistic w. T = O

  • (|L0| · |L1| + |L2|) · ln2(w)/w2

M = O

  • |L1| + |L2|
  • 16 / 23
slide-39
SLIDE 39

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Other 3-XOR algorithms

Generalized 3-XOR algorithm for w-bit elements and |L0| · |L1| · |L2| = 2w: Wagner’s generalized birthday Combine two lists and look for a collision. T = O

  • 2n

M = O

  • 2n−d/2

And two more by [Bouillaguet, Delaplace, Fouque. ToSC 2018]: Repeat O(|L0|/w) times Joux’s algorithm. Realistic 3-XOR algorithm. T = O

  • 2n/n
  • M = O
  • 2n−d/2

Revisited Baran-Demaine-Pˇ atraşcu 3-SUM algorithm Best known asymptotic complexity but impractical for realistic w. T = O

  • 2n · ln2(n)/n2

M = O

  • 2n−d/2

16 / 23

slide-40
SLIDE 40

Introduction First attack Clamping attacks Low-Data Attack Conclusion

2-Round Even-Mansour: Results

Strategy Data Queries Time Memory Param. Joux’s technique n KP 2n/√n 2n/√n 2n/√n Clamping + BDF algo 2d KP 2n−d/2 2n/n 2n−d/2 0 < d < n Clamping + BDP algo 2d KP 2n−d/2 2n ln2 n/n2 2n−d/2 0 < d < n Low-Data λn KP 2n/λn 2n/λn 2λn 0 < λ < 1 red means ˜ Θ(2n)

17 / 23

slide-41
SLIDE 41

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Joux’s Technique 2n bits n words L0 · M = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1

e0 ⊕ e1 ⊕ e2 = 0 ⇐ ⇒ e0 · M ⊕ e1 · M ⊕ e2 · M = 0 3-XOR with L0, L1, L2 ⇐ ⇒ 3-XOR with L0 · M, L1 · M, L2 · M

18 / 23

slide-42
SLIDE 42

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Joux’s Technique... but smaller 2n bits λn words L1

0||L2 0 =

. . 1 1 1 1 1 . . . . 1 . 1 1 1 . . . 1 1 1 1 1 . 1 1 1 1 . . . . 1 1 1 . . 1 1 1 . . 1 1 . 1 . . . . 1 1 . 1 . . 1 . 1 . 1 . 1 1 . . 1 . 1 1 1 1 . . 1 . . . . . . 1 . . . . . 1 1 1 . 1 1 1 1 1 . 1 . . 1 . 1 1 . . . . . . 1 . . 1 1 1 . 1 1 . 1 1 . . 1

19 / 23

slide-43
SLIDE 43

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Joux’s Technique... but smaller 2n bits λn words . 1 . 1 1 1 1 . . 1 . . . . . . 1 . . . . . 1 1 1 . 1 1 1 1 1 . 1 . . 1 . 1 1 . . . . . . 1 . . 1 1 1 . 1 1 . 1 1 . . 1 L1

0||(L2 0 · Ms) =

n (1 − λ)n λn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1

19 / 23

slide-44
SLIDE 44

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Joux’s Technique... but smaller 2n bits λn words . 1 . 1 1 1 1 . . 1 . . . . . . 1 . . . . . 1 1 1 . 1 1 1 1 1 . 1 . . 1 . 1 1 . . . . . . 1 . . 1 1 1 . 1 1 . 1 1 . . 1 L1

0||(L2 0 · Ms) =

n (1 − λ)n λn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 L1 L2 y z′ ∋ ∋ || || y ⊕ P1(y) P−1

2 (z′)

19 / 23

slide-45
SLIDE 45

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Joux’s Technique... but smaller 2n bits λn words . 1 . 1 1 1 1 . . 1 . . . . . . 1 . . . . . 1 1 1 . 1 1 1 1 1 . 1 . . 1 . 1 1 . . . . . . 1 . . 1 1 1 . 1 1 . 1 1 . . 1 L1

0||(L2 0 · Ms) =

n (1 − λ)n λn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 ∋ ∋ || || y ⊕ P1(y) P−1

2 (z′)

L1

1||(L2 1 · Ms)

L1

2||(L2 2 · Ms)

y · Ms z′ · Ms

19 / 23

slide-46
SLIDE 46

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Joux’s Technique... but smaller 2n bits λn words . 1 . 1 1 1 1 . . 1 . . . . . . 1 . . . . . 1 1 1 . 1 1 1 1 1 . 1 . . 1 . 1 1 . . . . . . 1 . . 1 1 1 . 1 1 . 1 1 . . 1 L1

0||(L2 0 · Ms) =

n (1 − λ)n λn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 ∋ ∋ || || y ⊕ P1(y) P−1

2 (z′)

L1

1||(L2 1 · Ms)

L1

2||(L2 2 · Ms)

| | α α ∗ ∗ ∗ ∗ ∗ ∗

19 / 23

slide-47
SLIDE 47

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Joux’s Technique... but smaller 2n bits λn words n (1 − λ)n λn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 . . . . . . 1 (L1

0||L2 0) · M =

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ∋ ∋ || || y ⊕ P1(y) P−1

2 (z′)

L1

1||(L2 1 · Ms)

L1

2||(L2 2 · Ms)

| | α α ∗ ∗ ∗ ∗ ∗ ∗

19 / 23

slide-48
SLIDE 48

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Low-Data Attack on 2EM

Collision over (1 − λ)n bits for free. L1 and L2 contain 2λn elements and reused for different α. 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

20 / 23

slide-49
SLIDE 49

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Low-Data Attack on 2EM

Collision over (1 − λ)n bits for free. L1 and L2 contain 2λn elements and reused for different α. Complexity Data D = λn . Memory O(2λn). Time T = Q = O( 2n

λn) .

2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

20 / 23

slide-50
SLIDE 50

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Some Take-aways

Clamping + algo After easy clamping we can use a generic 3-XOR algorithm. Faster 3-XOR solver = ⇒ Faster 2EM cryptanalysis! 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

21 / 23

slide-51
SLIDE 51

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Some Take-aways

Clamping + algo After easy clamping we can use a generic 3-XOR algorithm. Faster 3-XOR solver = ⇒ Faster 2EM cryptanalysis! Linear algebra vs Multicollision Roughly as much computations. But less memory. 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

21 / 23

slide-52
SLIDE 52

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Some Take-aways

Clamping + algo After easy clamping we can use a generic 3-XOR algorithm. Faster 3-XOR solver = ⇒ Faster 2EM cryptanalysis! Linear algebra vs Multicollision Roughly as much computations. But less memory. Low-Data Attack Uses D = λn and T = 2n/(λn). = ⇒ DT = 2n Matches the 1EM proof DT ≤ 2n for 0 < λ ≤ 1 − ln(n ln 2)

n ln 2

+ o(1). 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

21 / 23

slide-53
SLIDE 53

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Generalization of the Reduction

We’ve shown 2EM as a 3-XOR with 2n-bit elements and... 4EM

P1 P2 P3 P4

K K K K K x0 P1(x1) x1 P2(x2) x2 P3(x3) x3 P4(x4) x4 E(x0)

22 / 23

slide-54
SLIDE 54

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Generalization of the Reduction

We’ve shown 2EM as a 3-XOR with 2n-bit elements and... Lists for 4EM cryptanalysis using the 5-XOR problem. L0 ∋ x0 . . E(x0) L1 ∋ x1 ⊕ P1(x1) P1(x1) . . L2 ∋ x2 x2 ⊕ P2(x2) P2(x2) . L3 ∋ . x3 x3 ⊕ P3(x3) P3(x3) L4 ∋ . . x4 x4 ⊕ P4(x4) 4EM

P1 P2 P3 P4

K K K K K x0 P1(x1) x1 P2(x2) x2 P3(x3) x3 P4(x4) x4 E(x0)

22 / 23

slide-55
SLIDE 55

Introduction First attack Clamping attacks Low-Data Attack Conclusion

Generalization of the Reduction

We’ve shown 2EM as a 3-XOR with 2n-bit elements and... Lists for 4EM cryptanalysis using the 5-XOR problem. L0 ∋ x0 . . E(x0) L1 ∋ x1 ⊕ P1(x1) P1(x1) . . L2 ∋ x2 x2 ⊕ P2(x2) P2(x2) . L3 ∋ . x3 x3 ⊕ P3(x3) P3(x3) L4 ∋ . . x4 x4 ⊕ P4(x4) rEM cryptanalysis as a special (r + 1)-XOR with rn-bit elements. Can we use this to improve cryptanalysis of rEM with r ≥ 3? 4EM

P1 P2 P3 P4

K K K K K x0 P1(x1) x1 P2(x2) x2 P3(x3) x3 P4(x4) x4 E(x0)

22 / 23

slide-56
SLIDE 56

Introduction First attack Clamping attacks Low-Data Attack Conclusion

2-Round Even-Mansour: Results

Strategy Data Queries Time Memory Param. Joux’s technique n KP 2n/√n 2n/√n 2n/√n Clamping + BDF algo 2d KP 2n−d/2 2n/n 2n−d/2 0 < d < n Clamping + BDP algo 2d KP 2n−d/2 2n ln2 n/n2 2n−d/2 0 < d < n Low-Data λn KP 2n/λn 2n/λn 2λn 0 < λ < 1

  • Link between 2EM cryptanalysis and the 3-XOR Problem.
  • Explore existing and new linear algebra techniques.
  • Significantly reduce online data and memory usage (previous bottleneck).

23 / 23

slide-57
SLIDE 57

Low-Data Attack on 2EM

  • 1. Collect λn plaintext/ciphertext pairs for L0 and compute Ms.
  • 2. Pick a new (1 − λn)-bit value α:

2.1 For all λn-bit value u: let y = z′ = (αu) · M−1

s

and fill L1 and L2. 2.2 Solve the 3-XOR over L0, L1, L2 using Joux’s technique. (Only an (n + λn)-bit collision) 2.3 Clear L1 and L2. Loop if no solution.

  • 3. Guess K = x ⊕ y for the solution found.

2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

1 / 1

slide-58
SLIDE 58

Low-Data Attack on 2EM

  • 1. Collect λn plaintext/ciphertext pairs for L0 and compute Ms.
  • 2. Pick a new (1 − λn)-bit value α:

2.1 For all λn-bit value u: let y = z′ = (αu) · M−1

s

and fill L1 and L2. 2.2 Solve the 3-XOR over L0, L1, L2 using Joux’s technique. (Only an (n + λn)-bit collision) 2.3 Clear L1 and L2. Loop if no solution.

  • 3. Guess K = x ⊕ y for the solution found.

Complexity of Low-Data Attack Each loop pr. of success: λn22λn/2(n+λn) = λn2λn−n. Each loop uses 2λn computations. D = λn . T = Q = O( 2n

λn) .

O(2λn) memory. 2EM

P1 P2 K K K x P1(y) y P2(z) z E(x)

1 / 1