The Iterated Random Function Problem ASK 2016, Nagoya, Japan Mridul - - PowerPoint PPT Presentation

the iterated random function problem
SMART_READER_LITE
LIVE PREVIEW

The Iterated Random Function Problem ASK 2016, Nagoya, Japan Mridul - - PowerPoint PPT Presentation

Iterated Random Function The Iterated Random Function Problem ASK 2016, Nagoya, Japan Mridul Nandi Indian Statistical Institute, Kolkata 28 September 2016 Joint work with Ritam Bhaumik, Nilanjan Datta, Avijit Dutta, Ashwin Jha, Avradip


slide-1
SLIDE 1

Iterated Random Function

The Iterated Random Function Problem

ASK 2016, Nagoya, Japan Mridul Nandi

Indian Statistical Institute, Kolkata

28 September 2016 Joint work with Ritam Bhaumik, Nilanjan Datta, Avijit Dutta, Ashwin Jha, Avradip Mandal, Nicky Mouha.

slide-2
SLIDE 2

Iterated Random Function

Outline of the Talk

Iterated random function

slide-3
SLIDE 3

Iterated Random Function

Outline of the Talk

Iterated random function Known vs. Our Approach

slide-4
SLIDE 4

Iterated Random Function

Outline of the Talk

Iterated random function Known vs. Our Approach Types of Collision for (iterated) random function

slide-5
SLIDE 5

Iterated Random Function

Outline of the Talk

Iterated random function Known vs. Our Approach Types of Collision for (iterated) random function Collision Probabilties and PRF analysis

slide-6
SLIDE 6

Iterated Random Function

The Iterated Random Permutations Problem

slide-7
SLIDE 7

Iterated Random Function

The Iterated Random Permutations Problem

Fix a positive integer r, and a random permutation f .

slide-8
SLIDE 8

Iterated Random Function

The Iterated Random Permutations Problem

Fix a positive integer r, and a random permutation f . Minaud and Seurin in crypto 2015 studied PRP of f r = f ◦ · · · ◦ f (r times)

slide-9
SLIDE 9

Iterated Random Function

The Iterated Random Permutations Problem

Fix a positive integer r, and a random permutation f . Minaud and Seurin in crypto 2015 studied PRP of f r = f ◦ · · · ◦ f (r times) O(rq/2n) PRP advantage

slide-10
SLIDE 10

Iterated Random Function

The Iterated Random Permutations Problem

Fix a positive integer r, and a random permutation f . Minaud and Seurin in crypto 2015 studied PRP of f r = f ◦ · · · ◦ f (r times) O(rq/2n) PRP advantage Lower bound of PRP advantage sometimes Θ(q/2n)

slide-11
SLIDE 11

Iterated Random Function

The Iterated Random Permutations Problem

Fix a positive integer r, and a random permutation f . Minaud and Seurin in crypto 2015 studied PRP of f r = f ◦ · · · ◦ f (r times) O(rq/2n) PRP advantage Lower bound of PRP advantage sometimes Θ(q/2n) Scope of improvement

slide-12
SLIDE 12

Iterated Random Function

The Iterated Random Function Problem

We ask same problem for random function

slide-13
SLIDE 13

Iterated Random Function

The Iterated Random Function Problem

We ask same problem for random function We show Θ(rq2/2n) PRF advantage

slide-14
SLIDE 14

Iterated Random Function

The Iterated Random Function Problem

We ask same problem for random function We show Θ(rq2/2n) PRF advantage We show an attack with advantage about rq2/2n provided q ≥ 2n/3

slide-15
SLIDE 15

Iterated Random Function

The Iterated Random Function Problem

We ask same problem for random function We show Θ(rq2/2n) PRF advantage We show an attack with advantage about rq2/2n provided q ≥ 2n/3 We show upper bound using Coefficients H Technique

slide-16
SLIDE 16

Iterated Random Function

Known Approach: Full Collision Probability

Used for analyzing Improved bound of CBC by Bellare, Pietrzak and Rogaway in crypto 2005

slide-17
SLIDE 17

Iterated Random Function

Known Approach: Full Collision Probability

Used for analyzing Improved bound of CBC by Bellare, Pietrzak and Rogaway in crypto 2005 O(rq2/2n) PRF advantage for CBC of length r

slide-18
SLIDE 18

Iterated Random Function

Known Approach: Full Collision Probability

Used for analyzing Improved bound of CBC by Bellare, Pietrzak and Rogaway in crypto 2005 O(rq2/2n) PRF advantage for CBC of length r Collision between a final input (q such) and other rq inputs

slide-19
SLIDE 19

Iterated Random Function

Known Approach: Full Collision Probability

Used for analyzing Improved bound of CBC by Bellare, Pietrzak and Rogaway in crypto 2005 O(rq2/2n) PRF advantage for CBC of length r Collision between a final input (q such) and other rq inputs On the average 1/2n collision probability for a pair

slide-20
SLIDE 20

Iterated Random Function

Known Approach: Full Collision Probability

Used for analyzing Improved bound of CBC by Bellare, Pietrzak and Rogaway in crypto 2005 O(rq2/2n) PRF advantage for CBC of length r Collision between a final input (q such) and other rq inputs On the average 1/2n collision probability for a pair Unfortunately this is not true for random function (collision probability for a pair can be O(rq/2n))

slide-21
SLIDE 21

Iterated Random Function

Our Approach : Upper Bound

slide-22
SLIDE 22

Iterated Random Function

Our Approach : Upper Bound

Allow all collisions on f that do not lead to collision on f r

slide-23
SLIDE 23

Iterated Random Function

Our Approach : Upper Bound

Allow all collisions on f that do not lead to collision on f r Look at possible function graphs of f and f r

slide-24
SLIDE 24

Iterated Random Function

Our Approach : Upper Bound

Allow all collisions on f that do not lead to collision on f r Look at possible function graphs of f and f r Bound probabilities of different types of collisions

slide-25
SLIDE 25

Iterated Random Function

Our Approach : Upper Bound

Allow all collisions on f that do not lead to collision on f r Look at possible function graphs of f and f r Bound probabilities of different types of collisions Use Coefficient H Technique to upper bound advantage

slide-26
SLIDE 26

Iterated Random Function

Our Approach : Lower Bound

We show lower bound

slide-27
SLIDE 27

Iterated Random Function

Our Approach : Lower Bound

We show lower bound Vary first block and rest all blocks are same

slide-28
SLIDE 28

Iterated Random Function

Our Approach : Lower Bound

We show lower bound Vary first block and rest all blocks are same For a pair collision probability about r/2n

slide-29
SLIDE 29

Iterated Random Function

Our Approach : Lower Bound

We show lower bound Vary first block and rest all blocks are same For a pair collision probability about r/2n Use Inclusion Exclusion Principle to lower bound advantage

slide-30
SLIDE 30

Iterated Random Function

Our Approach : Lower Bound

We show lower bound Vary first block and rest all blocks are same For a pair collision probability about r/2n Use Inclusion Exclusion Principle to lower bound advantage So it is tight up to a small power of log r

slide-31
SLIDE 31

Iterated Random Function

Function Graphs

slide-32
SLIDE 32

Iterated Random Function

Function Graphs

Views function as directed graph

slide-33
SLIDE 33

Iterated Random Function

Function Graphs

Views function as directed graph y = f (x) represented by an edge from x to y

slide-34
SLIDE 34

Iterated Random Function

Function Graphs

Views function as directed graph y = f (x) represented by an edge from x to y Loops allowed, no multiple edges

slide-35
SLIDE 35

Iterated Random Function

Function Graphs

Views function as directed graph y = f (x) represented by an edge from x to y Loops allowed, no multiple edges Trails move together once merged

slide-36
SLIDE 36

Iterated Random Function

Function Graphs

Views function as directed graph y = f (x) represented by an edge from x to y Loops allowed, no multiple edges Trails move together once merged All trails eventually lead to cycles

slide-37
SLIDE 37

Iterated Random Function

Collision Attack on f

Two main approaches:

slide-38
SLIDE 38

Iterated Random Function

Collision Attack on f

Two main approaches: Feedback Attack:

slide-39
SLIDE 39

Iterated Random Function

Collision Attack on f

Two main approaches: Feedback Attack:

Based on Pollard’s Rho Algorithm

slide-40
SLIDE 40

Iterated Random Function

Collision Attack on f

Two main approaches: Feedback Attack:

Based on Pollard’s Rho Algorithm Keeps feeding back f ’s outputs to f

slide-41
SLIDE 41

Iterated Random Function

Collision Attack on f

Two main approaches: Feedback Attack:

Based on Pollard’s Rho Algorithm Keeps feeding back f ’s outputs to f Query 1: x , query i: f i−1(x)

slide-42
SLIDE 42

Iterated Random Function

Collision Attack on f

Two main approaches: Feedback Attack:

Based on Pollard’s Rho Algorithm Keeps feeding back f ’s outputs to f Query 1: x , query i: f i−1(x) Tries to find cycle

slide-43
SLIDE 43

Iterated Random Function

Collision Attack on f

Two main approaches: Feedback Attack:

Based on Pollard’s Rho Algorithm Keeps feeding back f ’s outputs to f Query 1: x , query i: f i−1(x) Tries to find cycle

Multiple Trails Attack:

slide-44
SLIDE 44

Iterated Random Function

Collision Attack on f

Two main approaches: Feedback Attack:

Based on Pollard’s Rho Algorithm Keeps feeding back f ’s outputs to f Query 1: x , query i: f i−1(x) Tries to find cycle

Multiple Trails Attack:

Based loosely on van Oorschot-Wiener’s Parallel Search

slide-45
SLIDE 45

Iterated Random Function

Collision Attack on f

Two main approaches: Feedback Attack:

Based on Pollard’s Rho Algorithm Keeps feeding back f ’s outputs to f Query 1: x , query i: f i−1(x) Tries to find cycle

Multiple Trails Attack:

Based loosely on van Oorschot-Wiener’s Parallel Search Starts feedback queries simultaneously from many points

slide-46
SLIDE 46

Iterated Random Function

Collision Attack on f

Two main approaches: Feedback Attack:

Based on Pollard’s Rho Algorithm Keeps feeding back f ’s outputs to f Query 1: x , query i: f i−1(x) Tries to find cycle

Multiple Trails Attack:

Based loosely on van Oorschot-Wiener’s Parallel Search Starts feedback queries simultaneously from many points Query 1 on Trail j: xj , query i on Trail j: f i−1(xj)

slide-47
SLIDE 47

Iterated Random Function

Collision Attack on f

Two main approaches: Feedback Attack:

Based on Pollard’s Rho Algorithm Keeps feeding back f ’s outputs to f Query 1: x , query i: f i−1(x) Tries to find cycle

Multiple Trails Attack:

Based loosely on van Oorschot-Wiener’s Parallel Search Starts feedback queries simultaneously from many points Query 1 on Trail j: xj , query i on Trail j: f i−1(xj) Tries to make two trails merge

slide-48
SLIDE 48

Iterated Random Function

Collision Types on f

slide-49
SLIDE 49

Iterated Random Function

Collision Types on f

Rho collision

t c x collision point

slide-50
SLIDE 50

Iterated Random Function

Collision Types on f

Rho collision

Tail length t

t c x collision point

slide-51
SLIDE 51

Iterated Random Function

Collision Types on f

Rho collision

Tail length t Cycle length c

t c x collision point

slide-52
SLIDE 52

Iterated Random Function

Collision Types on f

Rho collision

Tail length t Cycle length c Denoted ρ(t, c)

t c x collision point

slide-53
SLIDE 53

Iterated Random Function

Collision Types on f

Rho collision

Tail length t Cycle length c Denoted ρ(t, c)

Lambda collision

t c x collision point t1 t2 x1 x2 collision point

slide-54
SLIDE 54

Iterated Random Function

Collision Types on f

Rho collision

Tail length t Cycle length c Denoted ρ(t, c)

Lambda collision

Foot lengths t1 and t2

t c x collision point t1 t2 x1 x2 collision point

slide-55
SLIDE 55

Iterated Random Function

Collision Types on f

Rho collision

Tail length t Cycle length c Denoted ρ(t, c)

Lambda collision

Foot lengths t1 and t2 Denoted λ(t1, t2)

t c x collision point t1 t2 x1 x2 collision point

slide-56
SLIDE 56

Iterated Random Function

Collision Probabilities on f

t c x t1 t2 x1 x2

slide-57
SLIDE 57

Iterated Random Function

Collision Probabilities on f

t c x t1 t2 x1 x2 Rho collision

slide-58
SLIDE 58

Iterated Random Function

Collision Probabilities on f

t c x t1 t2 x1 x2 Rho collision

Feedback attack from some x

slide-59
SLIDE 59

Iterated Random Function

Collision Probabilities on f

t c x t1 t2 x1 x2 Rho collision

Feedback attack from some x Pr [ρ(t, c)] ≤ 1

N

slide-60
SLIDE 60

Iterated Random Function

Collision Probabilities on f

t c x t1 t2 x1 x2 Rho collision

Feedback attack from some x Pr [ρ(t, c)] ≤ 1

N

Pr [ρ(t, c)] ≤ e−α

N

for t = Θ( √ αN)

slide-61
SLIDE 61

Iterated Random Function

Collision Probabilities on f

t c x t1 t2 x1 x2 Rho collision

Feedback attack from some x Pr [ρ(t, c)] ≤ 1

N

Pr [ρ(t, c)] ≤ e−α

N

for t = Θ( √ αN)

Lambda collision

slide-62
SLIDE 62

Iterated Random Function

Collision Probabilities on f

t c x t1 t2 x1 x2 Rho collision

Feedback attack from some x Pr [ρ(t, c)] ≤ 1

N

Pr [ρ(t, c)] ≤ e−α

N

for t = Θ( √ αN)

Lambda collision

Two-trail attack from some x1 and x2

slide-63
SLIDE 63

Iterated Random Function

Collision Probabilities on f

t c x t1 t2 x1 x2 Rho collision

Feedback attack from some x Pr [ρ(t, c)] ≤ 1

N

Pr [ρ(t, c)] ≤ e−α

N

for t = Θ( √ αN)

Lambda collision

Two-trail attack from some x1 and x2 Pr [λ(t1, t2)] ≤ 1

N

slide-64
SLIDE 64

Iterated Random Function

Collision Attack on f r

Same two approaches:

slide-65
SLIDE 65

Iterated Random Function

Collision Attack on f r

Same two approaches: Feedback Attack:

slide-66
SLIDE 66

Iterated Random Function

Collision Attack on f r

Same two approaches: Feedback Attack:

Keeps feeding back f r’s outputs to f r

slide-67
SLIDE 67

Iterated Random Function

Collision Attack on f r

Same two approaches: Feedback Attack:

Keeps feeding back f r’s outputs to f r Query 1: x , query i: (f r)i−1(x)

slide-68
SLIDE 68

Iterated Random Function

Collision Attack on f r

Same two approaches: Feedback Attack:

Keeps feeding back f r’s outputs to f r Query 1: x , query i: (f r)i−1(x) Tries to find cycle

slide-69
SLIDE 69

Iterated Random Function

Collision Attack on f r

Same two approaches: Feedback Attack:

Keeps feeding back f r’s outputs to f r Query 1: x , query i: (f r)i−1(x) Tries to find cycle

Multiple Trails Attack:

slide-70
SLIDE 70

Iterated Random Function

Collision Attack on f r

Same two approaches: Feedback Attack:

Keeps feeding back f r’s outputs to f r Query 1: x , query i: (f r)i−1(x) Tries to find cycle

Multiple Trails Attack:

Starts feedback queries simultaneously from many points

slide-71
SLIDE 71

Iterated Random Function

Collision Attack on f r

Same two approaches: Feedback Attack:

Keeps feeding back f r’s outputs to f r Query 1: x , query i: (f r)i−1(x) Tries to find cycle

Multiple Trails Attack:

Starts feedback queries simultaneously from many points Query 1 on Trail j: xj , query i on Trail j: (f r)i−1(xj)

slide-72
SLIDE 72

Iterated Random Function

Collision Attack on f r

Same two approaches: Feedback Attack:

Keeps feeding back f r’s outputs to f r Query 1: x , query i: (f r)i−1(x) Tries to find cycle

Multiple Trails Attack:

Starts feedback queries simultaneously from many points Query 1 on Trail j: xj , query i on Trail j: (f r)i−1(xj) Tries to make two trails merge

slide-73
SLIDE 73

Iterated Random Function

Collision Types on f r

slide-74
SLIDE 74

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f

slide-75
SLIDE 75

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Rho collision:

t c x collision point

slide-76
SLIDE 76

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Rho collision:

Direct ρ collision:

t c x collision point

slide-77
SLIDE 77

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Rho collision:

Direct ρ collision:

f -collision in phase with r

t c x collision point

slide-78
SLIDE 78

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Rho collision:

Direct ρ collision:

f -collision in phase with r t = t + c mod r

t c x collision point

slide-79
SLIDE 79

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Rho collision:

Direct ρ collision:

f -collision in phase with r t = t + c mod r

Delayed ρ collision:

t c x collision point

slide-80
SLIDE 80

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Rho collision:

Direct ρ collision:

f -collision in phase with r t = t + c mod r

Delayed ρ collision:

f -collision out of phase

t c x collision point

slide-81
SLIDE 81

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Rho collision:

Direct ρ collision:

f -collision in phase with r t = t + c mod r

Delayed ρ collision:

f -collision out of phase move around cycle η times in all to adjust phase

t c x collision point

slide-82
SLIDE 82

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Rho collision:

Direct ρ collision:

f -collision in phase with r t = t + c mod r

Delayed ρ collision:

f -collision out of phase move around cycle η times in all to adjust phase η = r/gcd(c, r)

t c x collision point

slide-83
SLIDE 83

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Rho collision:

Direct ρ collision:

f -collision in phase with r t = t + c mod r

Delayed ρ collision:

f -collision out of phase move around cycle η times in all to adjust phase η = r/gcd(c, r) t = t + cη mod r

t c x collision point

slide-84
SLIDE 84

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Lambda collision:

∆t c second collision point t1 t2 x1 x2 first collision point

slide-85
SLIDE 85

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Lambda collision:

Direct λ collision:

∆t c second collision point t1 t2 x1 x2 first collision point

slide-86
SLIDE 86

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Lambda collision:

Direct λ collision:

f -collision in phase with r

∆t c second collision point t1 t2 x1 x2 first collision point

slide-87
SLIDE 87

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Lambda collision:

Direct λ collision:

f -collision in phase with r t1 = t2 mod r

∆t c second collision point t1 t2 x1 x2 first collision point

slide-88
SLIDE 88

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Lambda collision:

Direct λ collision:

f -collision in phase with r t1 = t2 mod r

Delayed λ collision:

∆t c second collision point t1 t2 x1 x2 first collision point

slide-89
SLIDE 89

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Lambda collision:

Direct λ collision:

f -collision in phase with r t1 = t2 mod r

Delayed λ collision:

f -collision out of phase

∆t c second collision point t1 t2 x1 x2 first collision point

slide-90
SLIDE 90

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Lambda collision:

Direct λ collision:

f -collision in phase with r t1 = t2 mod r

Delayed λ collision:

f -collision out of phase find ρ collision on merged walk

∆t c second collision point t1 t2 x1 x2 first collision point

slide-91
SLIDE 91

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Lambda collision:

Direct λ collision:

f -collision in phase with r t1 = t2 mod r

Delayed λ collision:

f -collision out of phase find ρ collision on merged walk move around cycle η times in all to adjust phase

∆t c second collision point t1 t2 x1 x2 first collision point

slide-92
SLIDE 92

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Lambda collision:

Direct λ collision:

f -collision in phase with r t1 = t2 mod r

Delayed λ collision:

f -collision out of phase find ρ collision on merged walk move around cycle η times in all to adjust phase t1 = t2 + cη mod r

∆t c second collision point t1 t2 x1 x2 first collision point

slide-93
SLIDE 93

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Lambda collision:

Direct λ collision:

f -collision in phase with r t1 = t2 mod r

Delayed λ collision:

f -collision out of phase find ρ collision on merged walk move around cycle η times in all to adjust phase t1 = t2 + cη mod r also called λρ collision or ρ′ collision

∆t c second collision point t1 t2 x1 x2 first collision point

slide-94
SLIDE 94

Iterated Random Function

Collision Types on f r

Can be reduced to collisions on f Lambda collision:

Direct λ collision:

f -collision in phase with r t1 = t2 mod r

Delayed λ collision:

f -collision out of phase find ρ collision on merged walk move around cycle η times in all to adjust phase t1 = t2 + cη mod r also called λρ collision or ρ′ collision Needs 2 f-collisions

∆t c second collision point t1 t2 x1 x2 first collision point

slide-95
SLIDE 95

Iterated Random Function

Collision Probabilities on f r

slide-96
SLIDE 96

Iterated Random Function

Collision Probabilities on f r

Rho collision:

slide-97
SLIDE 97

Iterated Random Function

Collision Probabilities on f r

Rho collision:

q-query feedback attack from some point x

slide-98
SLIDE 98

Iterated Random Function

Collision Probabilities on f r

Rho collision:

q-query feedback attack from some point x collision probability cpρ[q]

slide-99
SLIDE 99

Iterated Random Function

Collision Probabilities on f r

Rho collision:

q-query feedback attack from some point x collision probability cpρ[q] cpρ[q] = O

  • q2r

N

slide-100
SLIDE 100

Iterated Random Function

Collision Probabilities on f r

Rho collision:

q-query feedback attack from some point x collision probability cpρ[q] cpρ[q] = O

  • q2r

N

  • Lambda collision:
slide-101
SLIDE 101

Iterated Random Function

Collision Probabilities on f r

Rho collision:

q-query feedback attack from some point x collision probability cpρ[q] cpρ[q] = O

  • q2r

N

  • Lambda collision:

(q1, q2)-query two-trail attack from some points x1, x2

slide-102
SLIDE 102

Iterated Random Function

Collision Probabilities on f r

Rho collision:

q-query feedback attack from some point x collision probability cpρ[q] cpρ[q] = O

  • q2r

N

  • Lambda collision:

(q1, q2)-query two-trail attack from some points x1, x2 collision probability cpλ[q1, q2]

slide-103
SLIDE 103

Iterated Random Function

Collision Probabilities on f r

Rho collision:

q-query feedback attack from some point x collision probability cpρ[q] cpρ[q] = O

  • q2r

N

  • Lambda collision:

(q1, q2)-query two-trail attack from some points x1, x2 collision probability cpλ[q1, q2] cpλ[q1, q2] = O

  • q1q2r(log r)3

N

slide-104
SLIDE 104

Iterated Random Function

Collision Probabilities on f r

A general attack strategy, covering all adversaries:

slide-105
SLIDE 105

Iterated Random Function

Collision Probabilities on f r

A general attack strategy, covering all adversaries: m trails from m distinct starting points x1, . . . , xm

slide-106
SLIDE 106

Iterated Random Function

Collision Probabilities on f r

A general attack strategy, covering all adversaries: m trails from m distinct starting points x1, . . . , xm Trail lengths q1, . . . , qm with

i qi = q

slide-107
SLIDE 107

Iterated Random Function

Collision Probabilities on f r

A general attack strategy, covering all adversaries: m trails from m distinct starting points x1, . . . , xm Trail lengths q1, . . . , qm with

i qi = q

Tries to find either a ρ collision or a two-trail λ collision

slide-108
SLIDE 108

Iterated Random Function

Collision Probabilities on f r

A general attack strategy, covering all adversaries: m trails from m distinct starting points x1, . . . , xm Trail lengths q1, . . . , qm with

i qi = q

Tries to find either a ρ collision or a two-trail λ collision Collision probability cp[q]

slide-109
SLIDE 109

Iterated Random Function

Collision Probabilities on f r

A general attack strategy, covering all adversaries: m trails from m distinct starting points x1, . . . , xm Trail lengths q1, . . . , qm with

i qi = q

Tries to find either a ρ collision or a two-trail λ collision Collision probability cp[q] cp[q] = O

  • q2r(log r)3

N

slide-110
SLIDE 110

Iterated Random Function

PRF Security Result

slide-111
SLIDE 111

Iterated Random Function

PRF Security Result

A any prf adversary

slide-112
SLIDE 112

Iterated Random Function

PRF Security Result

A any prf adversary Advprf

A [f r] = O

  • q2r(log r)3

N

slide-113
SLIDE 113

Iterated Random Function

PRF Security Result

A any prf adversary Advprf

A [f r] = O

  • q2r(log r)3

N

  • Proof uses Patarin’s Coefficient H Technique
slide-114
SLIDE 114

Iterated Random Function

PRF Security Result

A any prf adversary Advprf

A [f r] = O

  • q2r(log r)3

N

  • Proof uses Patarin’s Coefficient H Technique

(log r)3 can be further improved, almost to log r

slide-115
SLIDE 115

Iterated Random Function

PRF Security Result

A any prf adversary Advprf

A [f r] = O

  • q2r(log r)3

N

  • Proof uses Patarin’s Coefficient H Technique

(log r)3 can be further improved, almost to log r Probably possible to show Advprf

A [f r] = O

  • q2r

N

slide-116
SLIDE 116

Iterated Random Function

Sketch of Proof

slide-117
SLIDE 117

Iterated Random Function

Sketch of Proof

Parallel Graph: union of non-intersecting paths

slide-118
SLIDE 118

Iterated Random Function

Sketch of Proof

Parallel Graph: union of non-intersecting paths Query transcript τ has multiple trails

slide-119
SLIDE 119

Iterated Random Function

Sketch of Proof

Parallel Graph: union of non-intersecting paths Query transcript τ has multiple trails Call τ BAD if not parallel graph

slide-120
SLIDE 120

Iterated Random Function

Sketch of Proof

Parallel Graph: union of non-intersecting paths Query transcript τ has multiple trails Call τ BAD if not parallel graph BAD is equivalent to collision in general m trail attack (after reordering queries)

slide-121
SLIDE 121

Iterated Random Function

Sketch of Proof

Parallel Graph: union of non-intersecting paths Query transcript τ has multiple trails Call τ BAD if not parallel graph BAD is equivalent to collision in general m trail attack (after reordering queries) Pr [BAD] = O

  • q2r(log r)3

N

slide-122
SLIDE 122

Iterated Random Function

Sketch of Proof

Parallel Graph: union of non-intersecting paths Query transcript τ has multiple trails Call τ BAD if not parallel graph BAD is equivalent to collision in general m trail attack (after reordering queries) Pr [BAD] = O

  • q2r(log r)3

N

  • Internal states equally probable for isomorphic good

transcripts

slide-123
SLIDE 123

Iterated Random Function

Sketch of Proof

Parallel Graph: union of non-intersecting paths Query transcript τ has multiple trails Call τ BAD if not parallel graph BAD is equivalent to collision in general m trail attack (after reordering queries) Pr [BAD] = O

  • q2r(log r)3

N

  • Internal states equally probable for isomorphic good

transcripts Plug internal blocks into the good transcript τ

slide-124
SLIDE 124

Iterated Random Function

Lower Bound on Collision Probability

slide-125
SLIDE 125

Iterated Random Function

Lower Bound on Collision Probability

General m trail attack is the best known attack

slide-126
SLIDE 126

Iterated Random Function

Lower Bound on Collision Probability

General m trail attack is the best known attack cp[q] is best known success probability

slide-127
SLIDE 127

Iterated Random Function

Lower Bound on Collision Probability

General m trail attack is the best known attack cp[q] is best known success probability Inclusion-Exclusion Principle gives lower bound

slide-128
SLIDE 128

Iterated Random Function

Lower Bound on Collision Probability

General m trail attack is the best known attack cp[q] is best known success probability Inclusion-Exclusion Principle gives lower bound cp[q] = Ω

  • q2r

N

slide-129
SLIDE 129

Iterated Random Function

Lower Bound on Collision Probability

General m trail attack is the best known attack cp[q] is best known success probability Inclusion-Exclusion Principle gives lower bound cp[q] = Ω

  • q2r

N

  • Security bound tight up to a factor of (log r)3
slide-130
SLIDE 130

Iterated Random Function

Lower Bound on Collision Probability

x := (x1, x2, . . . , xq), xi are distinct blocks from {0, 1}n. Let collf (xi; xj) denote the event f (ℓ)(xi) = f (ℓ)(xj) and collf (x) :=

xi,xj∈x collf (xi; xj).

slide-131
SLIDE 131

Iterated Random Function

Lower Bound on Collision Probability

Pr

f

  • collf (x)
  • i<j

colli,j

  • Pr

f [collf (xi; xj)]

− 3

  • i<j<k

colli,j,k

  • Pr

f [collf (xi; xj) ∩ collf (xj; xk)]

− 1 2

  • i<j,k<m

{i,j}∩{k,m}=∅ colli,j,k,m

  • Pr

f [collf (xi; xj) ∩ collf (xk; xm)]

slide-132
SLIDE 132

Iterated Random Function

Upper Bound on colli,j,k

Pr[Case 1] ≤ 2ℓ2

N2

Pr[Case 2] ≤ 6ℓ6

N3

colli,j,k ≤ 2ℓ2 N2 + 6ℓ6 N3 .

slide-133
SLIDE 133

Iterated Random Function

Upper Bound on colli,j,k,m

Pr[Case 1] ≤ ℓ2

N2

Pr[Case 2] ≤ 6ℓ3

N3

Pr[Case 3] ≤ 2ℓ5

N3

slide-134
SLIDE 134

Iterated Random Function

Upper Bound on colli,j,k,m

Pr[Case 4] ≤ 24ℓ8

N4

Pr[Case 5] ≤ 4ℓ8

N4 .

colli,j,k,m ≤ ℓ2 N2 + 6ℓ3 + 2ℓ5 N3 + 28ℓ8 N4 .

slide-135
SLIDE 135

Iterated Random Function

Lower Bound on colli,j

Let cycle be the event that at least one of the walks (corresponding to xi and xj) has a cycle. colli,j|¬cycle = ℓ

N

Pr[cycle] ≤ 2ℓ2

N .

colli,j ≥ ℓ N

  • 1 − 2ℓ2

N

  • .
slide-136
SLIDE 136

Iterated Random Function

Main Result on Lower Bound

Lower Bound Theorem Let x := (x1, . . . , xq) ∈

  • {0, 1}nq be a q tuple of distinct inputs.

For ℓ, q ≥ 3, q2ℓ

N < 1 and ℓ < min( N 5184, N

1 2

4 √ 3, N

1 3 3

√ 36), we have

Pr[collf (x)] ≥ q2ℓ 12N . Example Collision for N = 264. Hence taking q = √ 20 · 2

64 3 , ℓ = 0.1 × 2 64 3 ,

we get δ = 0.499.

slide-137
SLIDE 137

Iterated Random Function

Future Research and Conclusion

Removing log r factor.

slide-138
SLIDE 138

Iterated Random Function

Future Research and Conclusion

Removing log r factor. The attack requires some lower bound on q. Can we prove some lower bound for all attacks?

slide-139
SLIDE 139

Iterated Random Function

Future Research and Conclusion

Removing log r factor. The attack requires some lower bound on q. Can we prove some lower bound for all attacks? Almost tight bound (up to a log r factor).

slide-140
SLIDE 140

Iterated Random Function

Future Research and Conclusion

Removing log r factor. The attack requires some lower bound on q. Can we prove some lower bound for all attacks? Almost tight bound (up to a log r factor).

THANK YOU

slide-141
SLIDE 141

Iterated Random Function

Conclusion