Preparing Symmetric Crypto for the Quantum World Mar a - - PowerPoint PPT Presentation

▶
preparing symmetric crypto for the quantum world
SMART_READER_LITE
LIVE PREVIEW

Preparing Symmetric Crypto for the Quantum World Mar a - - PowerPoint PPT Presentation

Preparing Symmetric Crypto for the Quantum World Mar a Naya-Plasencia Inria, France ERC project QUASYModo FSE 2019 Paris - March 26 2019 Preliminaries... No quantum knowledge needed for following this talk Outline Introduction


slide-1
SLIDE 1

Preparing Symmetric Crypto for the Quantum World

Mar´ ıa Naya-Plasencia Inria, France ERC project QUASYModo FSE 2019 Paris - March 26 2019

slide-2
SLIDE 2

Preliminaries... No quantum knowledge needed for following this talk

slide-3
SLIDE 3

Outline

◮

Introduction Motivation, scenarios and evolution

◮

Useful quantum tools

◮

Presentation of some results

  • Building new useful quantum tool:

collision and k-xor algorithms

  • Some quantum attacks (Simon +)

◮

Final conclusion and Open problems

slide-4
SLIDE 4

Motivation

slide-5
SLIDE 5

Cryptanalysis: Foundation of Confidence

◮

Ideal security defined by generic attacks (2|K|). Does real security meet this ideal security? Need of continuous security evaluation. Any attack better than the generic one is considered a “break”.

◮

We are often left with an empirical measure

  • f the security: cryptanalysis.

1/57

slide-6
SLIDE 6

Very Important Notion: Security Margin If no attack is found on a given cipher, what can we say about its robustness? The security of a cipher is not a 1-bit information:

  • Round-reduced attacks.
  • Analysis of components.

⇒ determine and adapt the security margin.

2/57

slide-7
SLIDE 7

Very Important Notion: Security Margin

◮

Best attacks determine the security margin ⇒ Possibly with high complexities: find the highest number of rounds reached.

◮

Allows to compare primitives.

◮

The estimates of security margin need to be precise and correct in order to be meaningful.

3/57

slide-8
SLIDE 8

Post-Quantum Cryptography Asymmetric (e.g. RSA): Shor’s algorithm: Factorization in polynomial time ⇒ current systems not secure! Solutions: lattice-based, code-based cryptography... Symmetric (e.g. AES): Grover’s algorithm: Exhaustive search2|K|→2|K|/2 Double key length for equivalent ideal security. Much to learn about cryptanalysis when having quantum computing available.

4/57

slide-9
SLIDE 9

Post-Quantum Cryptography Problem for present existing long-term secrets. ⇒ start using quantum-safe primitives NOW. Important tasks:

◮

Conceive the cryptanalysis algorithms for evaluating the security

  • f

symmetric primitives in the P-Q world.

◮

Use them to evaluate and design symmetric primitives for the P-Q world.

5/57

slide-10
SLIDE 10

On Quantum Attacks

◮

Compare to best generic attack,

◮

generic attack is accelerated, so

◮

broken classical primitive might be unbroken in a quantum setting: e.g. a primitive might not have 256-bits security against a classical adversary but might have 128- bit security against a quantum one.

6/57

slide-11
SLIDE 11

Scenarios and Models

slide-12
SLIDE 12

Considered Scenarios

◮

Model Q0 classical attacks with classical computers.

◮

Model Q1 Q0 + access to a quantum computer.

◮

Model Q2 Q1 + superposition queries to a quantum cryptographic oracle (QCO).

◮

Model Q3 Q1 + superposition queries with the differences of a secret key in a QCO.

7/57

slide-13
SLIDE 13

Model Q0 Nothing new here.

8/57

slide-14
SLIDE 14

Model Q1

◮

So far, the best we have obtained is a quadratic speed-up, but it can be smaller:

  • If a primitive is safe in Q0,

it will also be in Q1.

◮

Does this mean that (so far) the Q1 scenario/results are not interesting? No!

safe = no attack better than generic attack

9/57

slide-15
SLIDE 15

Model Q1 In a post-quantum future:

◮

Classical or quantum surnames will disappear: Expected security given by their best generic attack (e.g. Grover). And security margin? → determined by the highest number of rounds cryptanalyzed with any attack more performant than generic.

◮

Q1 results: important information needed for determining the unique and future security margin.

10/57

slide-16
SLIDE 16

Model Q2 Very powerful, BUT... Many good reasons to study security in this scenario:

◮

Simple: used in security proofs.

◮

Non-trivial: Many constructions still seem resistant.

◮

Inclusive

  • f

all intermediate scenarios: protocols,

  • bfuscation,

hybrid machines, incompetent users...

11/57

slide-17
SLIDE 17

Model Q2 Defined and used in many results: [Zhandry12], [Boneh-Zhandry13], [Damg˚ ard- Funder-Nielsen-Salvail13], [Mossayebi-Schack16], [Song-Yun17], Simon’s attacks, FX, AEZ... An attack in this model ⇒ we need to be extra careful when implementing the primitive in a quantum computer.

12/57

slide-18
SLIDE 18

Model Q3 Super strong model: Everything is broken [Roetteler-Steinwandt 15] Too strong model!

13/57

slide-19
SLIDE 19

Another scenario classification Scenario A) With big quantum memory or Scenario B) quantum memory limited to poly(n) The first one: interesting from a theoretical point

  • f view and for considering trade-offs,

The second one: more ”realistic” scenario.

14/57

slide-20
SLIDE 20

Evolution

slide-21
SLIDE 21

First Results Quantum Symmetric Cryptanalysis:

◮ Quantum analysis of CubeHash [Leurent 10] ◮ Simon on 3-round Feistel [Kuwakado Morii 10] ◮ Simon on Even-Mansour [Kuwakado Morii 12] ◮ Quantum MITM iterated ciphers [Kaplan14] ◮ Quantum Related-Key [Roetteler-Steinwandt15]

15/57

slide-22
SLIDE 22

Quantum Symmetric Cryptanalysis

◮

In 2015/2016:

[Kaplan-Leurent-Leverrier-NP16] Simon on modes/slide attacks. [Kaplan-Leurent-Leverrier-NP16b] Diff/linear.

Many new results since:

FX [Leander-May17], parallel multi- preim. [Banegas-Bernstein17], Multicollision [Hosoyamada-Sasaki- Xagawa17], Mitm Q1 [Hosoyamada Sasaki 18], DS Mitm Feistel [Hosoyamada Sasaki 18], Miss-in-the-middle [Xie, Yang 18], Feistel key-recovery [Dong, Wang 18], CCA on Feistel [Ito et al 19]...

16/57

slide-23
SLIDE 23

Recent activity from QUASYModo

◮ Efficient Collisions [Chailloux NP Schrottenloher Asiacrypt17], ◮ Quantum cryptanalysis of AEZ [Bonnetain SAC17] ◮ On modular additions [Bonnetain NP Asiacrypt 2018] ◮ k-xor problem [Grassi NP Schrottenloher Asiacrypt2018] ◮ AES quantum evaluation [Bonnetain NP Schrottenloher 18] ◮ On quantum slide attacks [Bonnetain NP Schrottenloher 18] ◮ Quantum security analysis of CSIDH[Bonnetain Schrottenloher18] ◮ Optimal merging the k-xor problem [NP Schrottenloher 19] ◮ Improved low-qubit hidden shift algorithms [Bonnetain 19]

17/57

slide-24
SLIDE 24

Some Useful Quantum Tools

slide-25
SLIDE 25

Some Quantum Tools... ...that have been useful so far.

◮

Amplitude Amplification (AA) /Grover

◮

Quantum Counting

◮

Quantum Collisions

◮

Simon

◮

Kuperberg

18/57

slide-26
SLIDE 26

Amplitude Amplification (Grover’s generalization) Exhaustive search: Given f : {0, 1}n → {0, 1}, find one element x ∈ {0, 1}n such that f(x) = 1.

◮

Classical complexity: Ω(

2n |supp(f)|). ◮

Quantum complexity [Brassard-Hoyer 97]: Ω(

  • 2n

|supp(f)|) . In detail, we will see later: O

  • 2n

|supp(f)|(sT + fT)

  • .

19/57

slide-27
SLIDE 27

Quantum Counting Algorithm Distinguish a biased distribution: Given a Bernouilli distribution, determine with high probability whether it has a parameter 1/2 or 1/2 + ε.

◮

Classical complexity: O 1

ε2

  • .

◮

Quantum complexity: [Brassard-Hoyer-Tapp 98] O 1

ε

  • .

20/57

slide-28
SLIDE 28

Quantum Collision Algorithms Collision problem: Given a random function H :{0, 1}n → {0, 1}n, find x, y ∈ {0, 1}n with x = y such that H(x) = H(y).

◮

Classical complexity: Ω(2n/2).

◮

Quantum complexity: [Brassard-Hoyer-Tapp 97] O

  • 2n/3

in queries, in time and in quantum memory → scenario A. (Scenario B later)

21/57

slide-29
SLIDE 29

Simon’s algorithm Simon’s problem: Given f : {0, 1}n→{0, 1}n such that ∃s | f(x) = f(y) ⇐ ⇒ [x = y or x ⊕ y = s], find s.

◮

Classical complexity: Ω(2n/2).

◮

Quantum complexity [Simon 94]: O (n) .

22/57

slide-30
SLIDE 30

Kuperberg’s algorithm Hidden Shift Problem with modular addition: Let f, g be two injective functions, (G, +) a group. Given the promise that there exists s ∈ G such that, for all x, f(x) = g(x + s), retrieve s.

◮

Classical complexity: Ω(2n/2).

◮

Quantum complexity: [Kuperberg 05] 2

O(√n).

23/57

slide-31
SLIDE 31

Some new Results New useful Quantum Tools

slide-32
SLIDE 32

Some New Useful Quantum Tools

◮

New Quantum Collision Algorithm

◮

Quantum K-xor Algorithms

◮

Multicollisions

◮

Grover-meets-Simon

◮

Simon-meets-Kuperberg

◮

Framework for quantizing classical attacks

◮

Quantumly efficient DDT equivalent

◮

Miss-in-the-middle search

24/57

slide-33
SLIDE 33

Collision Search with A. Chailloux, A. Schrottenloher

slide-34
SLIDE 34

Collision Search Problem Given a random function H :{0, 1}n → {0, 1}n, find x, y ∈ {0, 1}n with x = y such that H(x) = H(y). Many applications: e.g. generic attacks on hash functions. (Multi-target preimage search can be seen as a particular case).

25/57

slide-35
SLIDE 35

Best known algorithms Time Queries Qubits Classical Memory Pollard 2n/2 2n/2 O(n) Grover 2n/2 2n/2 O(n) BHT 22n/3* 2n/3 O(n)* 2n/3 Ambainis 2n/3 2n/3 2n/3

26/57

slide-36
SLIDE 36

Considered Model

◮

The same one as in the previous collision quantum algorithms BUT we limit the amout of quantum memory available to a small amount O (n): scenario B instead of A.

◮

Available small quantum computers seem like the most plausible scenario.

◮

We are interested in the theoretical algorithm and we did not take into account yet implementation aspects.

27/57

slide-37
SLIDE 37

Starting Point: BHT Algorithm

◮

Optimal number of queries,

◮

O (n) qubits (scenario B),

◮

But time?

28/57

slide-38
SLIDE 38

BHT: Summarized procedure

◮ Build a list L of 2n/3 elements (classical memory), ◮ Exhaustive search for finding one element that

collides: With AA, the number of iterations is: ( 2n

2n/3)1/2 = 2n/3. ◮ Testing

the membership with L for the superposition of states costs 2n/3 with n qbits: Time: 2n/3 + 2n/3(1 + 2n/3) ≈ 22n/3

29/57

slide-39
SLIDE 39

Can we improve this? Let’s build the list L with distinguished points e.g. H(xi) = 0u||z, for z ∈ {0, 1}n−u. The cost of building the list is bigger: 2n/3+u/2. The setup of AA is bigger: 2u/2 The membership test stays the same: |L| = 2n/3 BUT The number of iterations is smaller: 2n/3−u/2 Time: 2n/3+u/2 + 2n/3−u/2(2u/2 + 2n/3) ≈ 22n/3−u/2 + 2n/3+u/2

30/57

slide-40
SLIDE 40

With optimal parameters The cost will be optimized for a certain size of L: 2v = 2n/3. Time: 2v+u/2 + 2

n−v−u 2

(2u/2 + 2v) For v = n/5, u = 2n/5: Time: O

  • 22n/5

31/57

slide-41
SLIDE 41

Comparison Time Queries Qubits Classical Memory Pollard 2n/2 2n/2 O(n) Grover 2n/2 2n/2 O(n) BHT 22n/3 2n/3 O(n) 2n/3 Ambainis 2n/3 2n/3 2n/3 New algorithm 22n/5 22n/5 O(n) 2n/5

32/57

slide-42
SLIDE 42

Example of Applications

◮

Hash functions: Collision and Multi- preimages time from 2n/2 to 22n/5 and 23n/7 (Q1). Ex.- time and queries for n = 128: Pollard rho= 264 vs Ours = 251 with less than 1GB classical.

◮

Multi-user setting.

◮

Operation modes.

◮

Bricks for Cryptanalysis.

33/57

slide-43
SLIDE 43

About Parallelization

◮

What about comparison with parallel rho? This algo provides new trade-offs. For comparison, previous example n = 128: Parallel rho= 251 with 213 processors vs Ours = 251 with less than 1GB classical.

◮

When both parallelized: up to 2n/3 processors this algorithm is more time-efficient than parallel rho.

34/57

slide-44
SLIDE 44

Conclusion - Collision New efficient collision search algorithm with small quantum memory (nothing scary, new trade-offs): First algorithm with less than 2n/2 computations in scenario B. Many applications in symmetric cryptography. Open question: is it possible to meet the optimal 2n/3 in time with small quantum memory?

35/57

slide-45
SLIDE 45

Quantum Efficient Algorithms for the k-xor Problem (and Update) with L. Grassi, A. Schrottenloher

slide-46
SLIDE 46

k-xor problem with random functions Given query access to a random function H : {0, 1}n → {0, 1}n, find x1, . . . , xk such that H(x1) ⊕ . . . ⊕ H(xk) = 0. For us, equivalent to the case with k different random functions. Many applications (with k-sum, similar algorithms apply), ex.: attacks on FSB, XLS, SWIFFT; correlation attacks.

36/57

slide-47
SLIDE 47

The 3-xor problem Find 3 elements that xor to 0: not much better than collision in classical setting. Classically, no exponential time acceleration, only logarithmic: Complexity of O (2)n/2.

37/57

slide-48
SLIDE 48

3-xor: Scenario B Algorithm

◮

1st approach, distinguished point: 2v = 2n/8, T = 23n/8

u n-u u n-u 0...0 0...0 : : 0...0 0...0 : 0...0 0...0

L1 L2 2v

xi

2v

yi

◮

Intuition: With a memory of 2v + 2v we obtain 22v potential collisions.

38/57

slide-49
SLIDE 49

3-xor: Scenario B Algorithm

◮

1st approach: 2v = 2n/8, T = 23n/8

◮

2nd approach,techniques linked to ”list merging”:

n-2u-t u u t n-2u-t u u t 0...0 0...0 : : 0...0 0...0 : 0...0 0...0 0...0

L1 L2

0...0 x1 1 y1 0...0 1

2v

0...0 xi i

2v

yi 0...0 i 0...0

Improved time= 25n/14, with 2v = 2n/7.

◮ Exponentially better than collision, contrary to

classical!

39/57

slide-50
SLIDE 50

3-xor: Scenario A Algorithm

◮

Same technique as before, but no need for a common prefix of zeroes.

◮

This gives QM= 2n/5 and Time= 23n/10.

40/57

slide-51
SLIDE 51

The k-xor algorithms

2 4 6 8 10 12 14 16 18 20 5 · 10−2 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 k αk Classical [Wagner 02] Scenario A Scenario B The time complexities are O (2αkn)

41/57

slide-52
SLIDE 52

k-xor algorithms: Very Recent results

◮

Related to dissection: partial solutions to subproblems n′ < n, k′ < k and combining them.

◮

When optimal? Not intuitive at all! ⇒ Recursive MILP program for optimality in both scenarios. Can we reach better complexities than

  • O
  • 2n/(⌊log2(k)⌋+2)

when k is not a power of 2 in scenario A? Can we obtain time complexities better than classical for k ≥ 8 in scenario B?

42/57

slide-53
SLIDE 53

New Results: scenario B

5 10 15 20 0.1 0.2 0.3 0.4 0.5 k αk New Classical Previous

The complexities are O (2αkn)

43/57

slide-54
SLIDE 54

New Results: scenario A

5 10 15 20 0.1 0.2 0.3 0.4 0.5 k αk New Classical Previous

The complexities are O (2αkn)

44/57

slide-55
SLIDE 55

Conclusion - k-xor - Optimal Merging

◮

The quantum 3-xor problem is exponentially easier than the quantum collision problem (in both settings), contrary to classical.

◮

The time for solving the 3-xor problem in scenario A beats the lower bound for quantum collision of 2n/3

◮

For generic k, scenario B improves Wagner for half the values, and scenario A improves for all k (interpolated curve).

45/57

slide-56
SLIDE 56

Some Results

  • n Quantum Attacks
slide-57
SLIDE 57

New Quantum Attacks

◮

Differential/Linear

◮

Simon-based

◮

Kuperberg-based

◮

Slide attacks

◮

DS-MITM And dedicated analysis:

◮

FX and Feistel constructions

◮

Q2 attack on AEZ

◮

Q2 attack on Poly-1305

◮

AES Quantum analysis

46/57

slide-58
SLIDE 58

Simon and Kuperberg Attacks with X. Bonnetain, M. Kaplan,

  • G. Leurent, A. Leverrier
slide-59
SLIDE 59

Simon on Even-Mansour [Kuwakado Morii 12]

◮

[Even-Mansour 97] cipher: DT > 2n

x k1 P k2 Ek1,k2(x)

f(x) = EK(x) ⊕ P(x) → f(x) = f(x ⊕ k1) Simon’s algo on f ⇒ k1 in O(n)

47/57

slide-60
SLIDE 60

[Kaplan-Leurent-Leverrier-NP 16] Simon on most authentication modes + slide attacks

◮

For example encrypt-last-block CBC-MAC:

m1 Ek m2 Ek m3 Ek Ek′ τ f : {0, 1} × {0, 1}n → {0, 1}n b, x → CBCMAC(αbx) = Ek′ Ek

  • x ⊕ Ek(αb)
  • .

CBCMAC(α1x ⊕ Ek(α0) ⊕ Ek(α1)) = Ek′ Ek

  • (x ⊕ Ek(α0) ⊕ Ek(α1)) ⊕ Ek(α1)
  • = CBCMAC(α0x)

s = 1Ek(α0) ⊕ Ek(α1)

48/57

slide-61
SLIDE 61

[Kaplan-Leurent-Leverrier-NP 16] Simon on most authentication modes + slide attacks

◮

For example encrypt-last-block CBC-MAC:

α0/α1 Ek x Ek Ek′ τ f : {0, 1} × {0, 1}n → {0, 1}n b, x → CBCMAC(αbx) = Ek′ Ek

  • x ⊕ Ek(αb)
  • .

CBCMAC(α1x ⊕ Ek(α0) ⊕ Ek(α1)) = Ek′ Ek

  • (x ⊕ Ek(α0) ⊕ Ek(α1)) ⊕ Ek(α1)
  • = CBCMAC(α0x)

s = 1Ek(α0) ⊕ Ek(α1)

48/57

slide-62
SLIDE 62

Simon and Grover on FX construction The FX construction is a natural construction for extending the key-length n ⇒ 2n.

x k1 Ek0 k2 Ek0,k1,k2(x)

[Leander May 17] Combined Simon with Grover: → broken in O(2n2n/2)

49/57

slide-63
SLIDE 63

Tweaking to resist Simon’s algo.?

◮

In [Alagic Russell 17] several proposals. Most efficient: replace xor by modular additions.

◮

Hidden shift problem in Z/(N).

◮

No algorithm in polynomial time: Kuperberg in 2O(√n)

◮

Up to what point do primitives resist?

50/57

slide-64
SLIDE 64

Motivation and results [Bonnetain-NP18]

◮

  • 4. Dimension symmetric primitives

◮

1. More precise evaluation of Kuperberg’s algorithm complexity+improvement

◮

  • 2. What about parallel modular additions?

◮

  • 3. New Quantum attacks (Feistel’s slide, FX)

51/57

slide-65
SLIDE 65

Improvement and Simulation Our improvement: all the bits with one iteration. O(n22 √

2 log2(3)n) ⇒ O(n2

√

2 log2(3)n)

Our simulations: 0.7 × 21.8√n for recovering full s. Code available: ask Xavier Bonnetain if interested. xavier.bonnetain@inria.fr

52/57

slide-66
SLIDE 66

Results - Conclusion

◮

Improved Kuperberg’s algorithm and new algorithm for parallel modular additions.

◮

State size needed for 128-bit security. at least 5200 bits (but for FX) ⇒ not very realistic.

◮

Might be better to just avoid vulnerable constructions, or try different patches.

◮

Recently: concrete security of some Isogeny- based primitives [Bonnetain-Schrottenloher]

53/57

slide-67
SLIDE 67

Final Conclusion

slide-68
SLIDE 68

General Conclusion (for now) 1/2

◮

No reason to panic, symmetric crypto seems to be holding on well

◮

Bigger internal states?

◮

Ideas from quantum analysis might improve classical analysis

◮

Many things yet to do to precisely evaluate security, to find best attacks, to adjust parameters...

54/57

slide-69
SLIDE 69

General Conclusion (for now) 2/2

◮

What about Q2? No consensus: Surprising-scary results vs useless model?

  • IMHO: Very strong model but when possible,

better to avoid Q2 attacks: symmetric modus

  • perandi works well in part because we are never

too paranoid: (attacks on 2200 declare ciphers broken,...)

◮

At least: information worth knowing. Aristotle?

55/57

slide-70
SLIDE 70

Open problems

◮

Propose an efficient AE mode Q2-safe

◮

New quantum attacks: QFT ?

◮

Quantum security evaluation of primitives(LW)

◮

Generic key-length extensions?

◮

Design of primitives with bigger state

◮

Time-memo Trade-offs for k-xor algorithms

◮

Evaluating quantum implementation

  • f

algorithms

◮

...

56/57

slide-71
SLIDE 71

Quantum-Safe Symmetric Primitives

Lots of things to do !

◮ And what about quantum asymmetric cryptanalysis?? Necessary to evaluate the concrete security of proposed primitives. Possible links between both.

Many thanks to Andr´ e Schrottenloher, Xavier Bonnetain, Anne Canteaut, Gaetan Leurent, Anthony Leverrier...

57/57

slide-72
SLIDE 72

ERC QUASYModo https://project.inria.fr/quasymodo/

◮

1 PhD position

◮

1 PostDoc position