Quantum Collision-Finding in Non-Uniform Random Functions Marko - - PowerPoint PPT Presentation

quantum collision finding in non uniform random functions
SMART_READER_LITE
LIVE PREVIEW

Quantum Collision-Finding in Non-Uniform Random Functions Marko - - PowerPoint PPT Presentation

Quantum Collision-Finding in Non-Uniform Random Functions Marko Balogh 1 and Edward Eaton 2 , 3 and Fang Song 1 1 Portland State University 2 University of Waterloo 3 ISARA Corporation April 11, 2018 1 / 33 Motivation Let H : [ M ] [ N ]


slide-1
SLIDE 1

Quantum Collision-Finding in Non-Uniform Random Functions

Marko Balogh1 and Edward Eaton2,3 and Fang Song1

1 Portland State University 2 University of Waterloo 3 ISARA Corporation

April 11, 2018

1 / 33

slide-2
SLIDE 2

Motivation

Let H : [M] → [N] be a hash function.

2 / 33

slide-3
SLIDE 3

Motivation

Let H : [M] → [N] be a hash function. The collision resistance of H is a measure of how difficult it is to find x, y ∈ [M] such that H(x) = H(y).

2 / 33

slide-4
SLIDE 4

Difficulty?

3 / 33

slide-5
SLIDE 5

Difficulty?

  • Time

3 / 33

slide-6
SLIDE 6

Difficulty?

  • Time
  • Space

3 / 33

slide-7
SLIDE 7

Difficulty?

  • Time
  • Space
  • (Qu)bit operations

3 / 33

slide-8
SLIDE 8

Difficulty?

  • Time
  • Space
  • (Qu)bit operations (logical/physical)

3 / 33

slide-9
SLIDE 9

Difficulty?

  • Time
  • Space
  • (Qu)bit operations (logical/physical)
  • Easy to parallelize

3 / 33

slide-10
SLIDE 10

Difficulty?

  • Time
  • Space
  • (Qu)bit operations (logical/physical)
  • Easy to parallelize
  • Hash function queries

3 / 33

slide-11
SLIDE 11

Difficulty?

  • Time
  • Space
  • (Qu)bit operations (logical/physical)
  • Easy to parallelize
  • Hash function queries

4 / 33

slide-12
SLIDE 12

We can allow a quantum query to H by UH :

  • x∈[M]

y∈[N]

αx,y|x|y →

  • x∈[M]

y∈[N]

αx,y|x|y ⊕ H(x)

5 / 33

slide-13
SLIDE 13

Generic Security

H A

slide-14
SLIDE 14

Generic Security

H A x

slide-15
SLIDE 15

Generic Security

H A x H(x)

slide-16
SLIDE 16

Generic Security

H A x H(x) m1, m2 : H(m1) = H(m2)

slide-17
SLIDE 17

Generic Security

H A x H(x) m1, m2 : H(m1) = H(m2) UH A

slide-18
SLIDE 18

Generic Security

H A x H(x) m1, m2 : H(m1) = H(m2) UH A |x|y |x|y ⊕ H(x)

slide-19
SLIDE 19

Generic Security

H A x H(x) m1, m2 : H(m1) = H(m2) UH A |x|y |x|y ⊕ H(x) m1, m2 : H(m1) = H(m2)

6 / 33

slide-20
SLIDE 20

Collision Resistance

Let H := {H : [M] → [N]}, and M = Ω(N1/2).

7 / 33

slide-21
SLIDE 21

Collision Resistance

Let H := {H : [M] → [N]}, and M = Ω(N1/2). Then if we have H

$

← − H uniformly:

  • Any algorithm finding a collision in H (with constant

probability) must make Ω(N1/3) queries to UH.

7 / 33

slide-22
SLIDE 22

Collision Resistance

Let H := {H : [M] → [N]}, and M = Ω(N1/2). Then if we have H

$

← − H uniformly:

  • Any algorithm finding a collision in H (with constant

probability) must make Ω(N1/3) queries to UH.

  • There is an algorithm that finds a collision in H (with

constant probability) and makes O(N1/3) queries to UH. Results from “A Note on the Quantum Collision and Set Equality Problems” by Mark Zhandry (2015).

7 / 33

slide-23
SLIDE 23

Motivation

When H is uniform, the query complexity is Θ(N1/3).

8 / 33

slide-24
SLIDE 24

Motivation

When H is uniform, the query complexity is Θ(N1/3). Is only considering uniform functions enough?

8 / 33

slide-25
SLIDE 25

Motivation

  • Uniformity is a very strong condition on a function —

considering non-uniform can relax our security assumptions.

9 / 33

slide-26
SLIDE 26

Motivation

  • Uniformity is a very strong condition on a function —

considering non-uniform can relax our security assumptions.

  • Some crypto functions are certainly not uniform, e.g., if H1,

H2 are uniform then H1 ◦ H2 is not.

9 / 33

slide-27
SLIDE 27

Motivation

  • Uniformity is a very strong condition on a function —

considering non-uniform can relax our security assumptions.

  • Some crypto functions are certainly not uniform, e.g., if H1,

H2 are uniform then H1 ◦ H2 is not.

  • Proofs of Fujisaki-Okamoto require collision resistance of

non-uniform functions (f ◦ H).

9 / 33

slide-28
SLIDE 28

Definitions

Let D be a distribution on [N]. Then we say that D has min-entropy k if − log2 max

y∈[N] Pr[y ← D] = k.

10 / 33

slide-29
SLIDE 29

Definitions

Let D be a distribution on [N]. Then we say that D has min-entropy k if − log2 max

y∈[N] Pr[y ← D] = k.

We say that a function H has distribution D if H(x) has distribution D for all x ∈ [M], and all are independent.

10 / 33

slide-30
SLIDE 30

Examples

N = 8, D1 = uniform / flat:

11 / 33

slide-31
SLIDE 31

Examples

N = 8, D1 = uniform / flat: N = 25, D2 = generic :

11 / 33

slide-32
SLIDE 32

Examples

N = 8, D1 = uniform / flat: N = 25, D2 = generic : Both have min-entropy 3

11 / 33

slide-33
SLIDE 33

Examples

N = Ω(M), D3 = delta:

12 / 33

slide-34
SLIDE 34

Examples

N = Ω(M), D3 = delta: Still min-entropy 3

12 / 33

slide-35
SLIDE 35

Definitions

Useful tool: The collision probability β(D) := 1 Pr[x = y : x, y ← D]. ( − log β is the collision entropy)

13 / 33

slide-36
SLIDE 36

Definitions

Useful tool: The collision probability β(D) := 1 Pr[x = y : x, y ← D]. ( − log β is the collision entropy) β

  • = 2k
slide-37
SLIDE 37

Definitions

Useful tool: The collision probability β(D) := 1 Pr[x = y : x, y ← D]. ( − log β is the collision entropy) β

  • = 2k

β

  • ≈ 22k
slide-38
SLIDE 38

Definitions

Useful tool: The collision probability β(D) := 1 Pr[x = y : x, y ← D]. ( − log β is the collision entropy) β

  • = 2k

β

  • ≈ 22k

β

  • ∈ [2k, 22k)

13 / 33

slide-39
SLIDE 39

Previous Work

To find a collision with constant probability... it takes at least this many queries it can be done in this many queries

2k/3 ? 2k/9 2k/3 ? ?

14 / 33

slide-40
SLIDE 40

Independent Work — Ebrahimi & Unruh

To find a collision with constant probability... it takes at least this many queries it can be done in this many queries

2k/3 2k/2 2k/5 2k/3 2k/2 β1/3

15 / 33

slide-41
SLIDE 41

Our Work

To find a collision with constant probability... it takes at least this many queries it can be done in this many queries

2k/3

min{N1/3, 2k/2}

2k/3 2k/3

min{N1/3, 2k/2}

β1/3

slide-42
SLIDE 42

Our Work

To find a collision with constant probability... it takes at least this many queries it can be done in this many queries

2k/3

min{N1/3, 2k/2}

2k/3 2k/3

min{N1/3, 2k/2}

β1/3

16 / 33

slide-43
SLIDE 43

We prove

Any adversary that can find a collision in a hash function H′ with

  • utputs distributed by

in q queries to UH′, with probability p,

17 / 33

slide-44
SLIDE 44

We prove

Any adversary that can find a collision in a hash function H′ with

  • utputs distributed by

in q queries to UH′, with probability p, can be used to find a collision in a hash function H with outputs distributed by in 2q queries to UH, with probability p/2.

17 / 33

slide-45
SLIDE 45

Reduction Adversary H′ H

slide-46
SLIDE 46

Reduction Adversary H′ H Collision in H′ Collision in H

18 / 33

slide-47
SLIDE 47

Proof outline

Idea: Use a distribution conversion to ‘chop up’ and turn it into

19 / 33

slide-48
SLIDE 48

Proof outline

Idea: Use a distribution conversion to ‘chop up’ and turn it into Then show that a collision in the generic distribution should imply a collision in the uniform!

19 / 33

slide-49
SLIDE 49

Simulating H′

Say we have H with output distribution

20 / 33

slide-50
SLIDE 50

Simulating H′

Say we have H with output distribution We pick m

$

← − [M] and compute H(m) =

20 / 33

slide-51
SLIDE 51

Simulating H′

We want to provide the adversary with access to a hash function H′ with distribution

21 / 33

slide-52
SLIDE 52

Simulating H′

We want to provide the adversary with access to a hash function H′ with distribution So when we compute H(m) = , we will choose what H′(m) can be based on this.

21 / 33

slide-53
SLIDE 53

Simulating H′

slide-54
SLIDE 54

Simulating H′

22 / 33

slide-55
SLIDE 55

Simulating H′

When H(m) = we will set H′(m) to either , , or .

23 / 33

slide-56
SLIDE 56

Simulating H′

When H(m) = we will set H′(m) to either , , or . We need a randomness oracle R : [M] → {0, 1}∗ to decide which. (Querying R does not require us to query H.)

23 / 33

slide-57
SLIDE 57

Simulating H′

When the adversary makes a query on a point m, we:

24 / 33

slide-58
SLIDE 58

Simulating H′

When the adversary makes a query on a point m, we:

  • Compute H(m).

24 / 33

slide-59
SLIDE 59

Simulating H′

When the adversary makes a query on a point m, we:

  • Compute H(m).
  • Obtain ‘sufficient’ randomness by R(m).

24 / 33

slide-60
SLIDE 60

Simulating H′

When the adversary makes a query on a point m, we:

  • Compute H(m).
  • Obtain ‘sufficient’ randomness by R(m).
  • From this, decide what H′(m) is by breaking up H(m).

24 / 33

slide-61
SLIDE 61

Simulating H′

When the adversary makes a query on a point m, we:

  • Compute H(m).
  • Obtain ‘sufficient’ randomness by R(m).
  • From this, decide what H′(m) is by breaking up H(m).

Note that this only requires one query to H.

24 / 33

slide-62
SLIDE 62

Converting H′ collision to H

Then note that if the adversary finds m1, m2 ∈ [M] such that H′(m1) = H′(m2) = , we have that H(m1) = H(m2) = .

25 / 33

slide-63
SLIDE 63

Converting H′ collision to H

Then note that if the adversary finds m1, m2 ∈ [M] such that H′(m1) = H′(m2) = , we have that H(m1) = H(m2) = . But we don’t always have this property.

25 / 33

slide-64
SLIDE 64

Converting H′ collision to H

slide-65
SLIDE 65

Converting H′ collision to H

26 / 33

slide-66
SLIDE 66

Converting H′ collision to H

Say the adversary finds m1, m2 ∈ [M] such that H′(m1) = H′(m2) = . What does this mean for H(m1) and H(m2)?

27 / 33

slide-67
SLIDE 67

Converting H′ collision to H

If H′(m1) = H′(m2) = , we could have:

28 / 33

slide-68
SLIDE 68

Converting H′ collision to H

If H′(m1) = H′(m2) = , we could have:

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = .

28 / 33

slide-69
SLIDE 69

Converting H′ collision to H

If H′(m1) = H′(m2) = , we could have:

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = . However, note that we do not provide the adversary with direct access to H, only to H′.

28 / 33

slide-70
SLIDE 70

Converting H′ collision to H

If H′(m1) = H′(m2) = , we could have:

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = . However, note that we do not provide the adversary with direct access to H, only to H′. The adversary has no way to tell which

28 / 33

slide-71
SLIDE 71

Converting H′ collision to H

If H′(m1) = H′(m2) = , we could have:

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = .

  • H(m1) =

, H(m2) = . However, note that we do not provide the adversary with direct access to H, only to H′. The adversary has no way to tell which — carefully accounting, we can see that Pr[H(m1) = H(m2)] ≥ 1/2. (Probability over the R oracle and the adversary’s internal randomness).

28 / 33

slide-72
SLIDE 72

Simulating UH′

For a quantum-enabled adversary, we must quantumize this process, e.g., on input of a query |Ψ, we:

29 / 33

slide-73
SLIDE 73

Simulating UH′

For a quantum-enabled adversary, we must quantumize this process, e.g., on input of a query |Ψ, we:

  • Make a quantum query to UH to get UH|Ψ,

29 / 33

slide-74
SLIDE 74

Simulating UH′

For a quantum-enabled adversary, we must quantumize this process, e.g., on input of a query |Ψ, we:

  • Make a quantum query to UH to get UH|Ψ,
  • Pass the message register part of |Ψ through UR to obtain

randomness to break apart the uniform distribution,

29 / 33

slide-75
SLIDE 75

Simulating UH′

For a quantum-enabled adversary, we must quantumize this process, e.g., on input of a query |Ψ, we:

  • Make a quantum query to UH to get UH|Ψ,
  • Pass the message register part of |Ψ through UR to obtain

randomness to break apart the uniform distribution,

  • Pass this result into a quantum circuit that breaks apart the

uniform distribution to get the desired min-entropy k distribution.

29 / 33

slide-76
SLIDE 76

Simulating UH′

For a quantum-enabled adversary, we must quantumize this process, e.g., on input of a query |Ψ, we:

  • Make a quantum query to UH to get UH|Ψ,
  • Pass the message register part of |Ψ through UR to obtain

randomness to break apart the uniform distribution,

  • Pass this result into a quantum circuit that breaks apart the

uniform distribution to get the desired min-entropy k distribution.

  • Perform garbage collection and pass result to the adversary.

29 / 33

slide-77
SLIDE 77

UH′ x H(·) r(·) H(·) x |0 |0 y y ⊕ r(x, H(x))

Figure: Quantum circuit that implements function UH′ using two oracle calls to UH.

30 / 33

slide-78
SLIDE 78
  • For each query the adversary makes to UH′, we make two

queries to UH.

31 / 33

slide-79
SLIDE 79
  • For each query the adversary makes to UH′, we make two

queries to UH.

  • The function H′ has exactly the correct distribution.

31 / 33

slide-80
SLIDE 80
  • For each query the adversary makes to UH′, we make two

queries to UH.

  • The function H′ has exactly the correct distribution.
  • The adversary finds a collision with probability p.

31 / 33

slide-81
SLIDE 81
  • For each query the adversary makes to UH′, we make two

queries to UH.

  • The function H′ has exactly the correct distribution.
  • The adversary finds a collision with probability p.
  • This collision corresponds to a collision in H with probability

1/2.

31 / 33

slide-82
SLIDE 82
  • For each query the adversary makes to UH′, we make two

queries to UH.

  • The function H′ has exactly the correct distribution.
  • The adversary finds a collision with probability p.
  • This collision corresponds to a collision in H with probability

1/2. Since we know that 2k/3 queries are needed to break the collision resistance of H with constant probability, the adversary needs to make at least 2k/3 queries to H′.

31 / 33

slide-83
SLIDE 83

Open Questions

  • Can we get distribution conversions that are time efficient

(not just query efficient)?

  • Can we get bounds when distributions aren’t entirely known?
  • Lower bounds in terms of β(D) rather than k?

32 / 33

slide-84
SLIDE 84

Summary

  • Main result: Finding a collision in a min-entropy k distributed

hash function takes 2k/3 quantum queries.

33 / 33

slide-85
SLIDE 85

Summary

  • Main result: Finding a collision in a min-entropy k distributed

hash function takes 2k/3 quantum queries.

  • There exist min-entropy k distributions that take 2k/2 queries

to find a collision.

33 / 33

slide-86
SLIDE 86

Summary

  • Main result: Finding a collision in a min-entropy k distributed

hash function takes 2k/3 quantum queries.

  • There exist min-entropy k distributions that take 2k/2 queries

to find a collision.

  • There exists an algorithm that finds a collision in a

min-entropy k distribution in β1/3 queries.

33 / 33

slide-87
SLIDE 87

Summary

  • Main result: Finding a collision in a min-entropy k distributed

hash function takes 2k/3 quantum queries.

  • There exist min-entropy k distributions that take 2k/2 queries

to find a collision.

  • There exists an algorithm that finds a collision in a

min-entropy k distribution in β1/3 queries.

  • Preimage/second preimage difficulty on min-entropy k

distributions can also be characterized with β and analysed with distribution conversions.

33 / 33

slide-88
SLIDE 88

Summary

  • Main result: Finding a collision in a min-entropy k distributed

hash function takes 2k/3 quantum queries.

  • There exist min-entropy k distributions that take 2k/2 queries

to find a collision.

  • There exists an algorithm that finds a collision in a

min-entropy k distribution in β1/3 queries.

  • Preimage/second preimage difficulty on min-entropy k

distributions can also be characterized with β and analysed with distribution conversions. Thank you!

33 / 33