Related-Key Security for Pseudorandom Functions Beyond the Linear - - PowerPoint PPT Presentation

related key security for pseudorandom
SMART_READER_LITE
LIVE PREVIEW

Related-Key Security for Pseudorandom Functions Beyond the Linear - - PowerPoint PPT Presentation

Related-Key Security for Pseudorandom Functions Beyond the Linear Barrier Ala lain in Passel elgue Ecole normale suprieure Joint work with: Mich ichel l Abdalla la (ENS), Fabric ice Be Benhamouda (ENS), Ken enneth G. . Paterson


slide-1
SLIDE 1

Related-Key Security for Pseudorandom Functions Beyond the Linear Barrier

Ala lain in Passel elègue Ecole normale supérieure Joint work with: Mich ichel l Abdalla la (ENS), Fabric ice Be Benhamouda (ENS), Ken enneth G. . Paterson (RHUL)

slide-2
SLIDE 2
  • RKAs introduced by Biham and Knudsen in early 90’s.
  • Since then, a huge number of papers mounting RKAs.
  • Security goal for AES and other modern blockciphers.
  • Recent RKAs on AES-192 and AES-256. [BK09,BDKKS10]

Practice

slide-3
SLIDE 3

F

k x F(k,x)

F

k1 x F(k1,x)

F

kn x F(kn,x)

… …

Si Single le-Key Attack on a cryptosystem F Rela lated-Key Attack (RKA) on a cryptosystem F k1, …, kn derived from k in ad adversary-specified way.

F

k x F(k,x)

slide-4
SLIDE 4

F

k x F(k,x)

F

k1 F(k1,x)

F

kn F(kn,x)

… … ki= φi(k) where φi ∈ Φ

[BK03] defines RKA security in terms of classes Φ of Related-Key Deriving (RKD) functions.

Formalization

x x

slide-5
SLIDE 5
  • Before 2010: RKA-PRFs for limited classes, strong assumptions, ideal models.

[BK03,Lucks04,GL10]

  • [BC10]: RKA-PRFs for group-induced classes, standard assumptions, standard model.
  • Limitations of [BC10]:
  • Claw-free classes.
  • Exponential time reduction for additive case (exponential in the input size).
  • Minor bug in the framework.
  • Related works: [BLMR13] Additive PRF from lattices and multilinear maps.

Previous Works

slide-6
SLIDE 6

We repair and extend the [BC10] framework. Construction of Φ-RKA-PRFs:

  • Lar

Larger classes (wit ith cla claws) (affine and poly

  • lynomia

ial classes).

  • Standard assumptions, standard model.
  • Poly

lynomia ial-Time Reduction. This is talk alk: pol

  • lynomial-time reduction for ad

additive case.

Our Contributions

slide-7
SLIDE 7

Par art 1: 1: Security model. Par art 2: 2: The Bellare-Cash framework. Par art 3: 3: Additive case with polynomial-time reduction.

Outline

slide-8
SLIDE 8

Part 1: Security Model: Φ-RKA-PRF

F: 𝐿 × 𝐸 → 𝑆 a PRF, Φ a class of RKD functions (set of functions φ: 𝐿 → 𝐿). (φ,x) ∈ Φ × 𝐸 y ∈ 𝑆 Until adversary A outputs b’.

A

RKA PRF Oracle

F

φ(k) x F(φ(k),x) φ(k) x $

If b = 1 If b = 0

Fin Finali lize : b = b’.

$

In Init itia iali lize : Pick at at ran andom k ∈ 𝐿, b ∈ {0,1}.

slide-9
SLIDE 9

Part 2: How to construct RKA-PRFs from PRFs? The Bellare-Cash Framework

slide-10
SLIDE 10

Key-Malleability

F(φ(k),x) φ,x xi

F

k xi F(k,xi)

PRF Oracle

Key Transfor

  • rmer

KT KTF

F(k,xi)

F is Φ-Key-Malle lleable: F(φ(k),x) computable from F(k, . ), for any φ, x.

slide-11
SLIDE 11

A

Bad Thing About Key-Malleability

Φ-Key-Malleable ⟹ Not Φ-RKA-secure. RKA PRF Oracle

φ,x F(φ(k),x) or $

slide-12
SLIDE 12

id,xi

A

F(k,xi) or $

Bad Thing About Key-Malleability

Φ-Key-Malleable ⟹ Not Φ-RKA-secure. RKA PRF Oracle

φ,x F(φ(k),x) or $ KTF(φ,x) Verification

slide-13
SLIDE 13

id,xi

A

F(k,xi) or $

Bad Thing About Key-Malleability

Φ-Key-Malleable ⟹ Not Φ-RKA-secure. If If match ⟹ or

  • racle

le = = F If If doesn’t match ⟹ or

  • racle = $

$ RKA PRF Oracle

φ,x F(φ(k),x) or $ KTF(φ,x) Verification

slide-14
SLIDE 14

Good Thing About Key-Malleability

Φ-Key-Malleable PRF ⟹ Φ-RKA-secure again inst Uniq ique-Input adversarie ies (that never queries the same input x twice).

How to force the adversary ry to be be uniq ique-in input?

slide-15
SLIDE 15

Id Idea: Instead of computing F(k,x), compute F(k,H(k,x)) with H colli llision-resistant hash function. Why? If φ or x change, so does k or x.

slide-16
SLIDE 16

Id Idea: Instead of computing F(k,x), compute F(k,H(k,x)) with H colli llision-resistant hash function. Why? If φ or x change, so does k or x. Proble lem: Not clear how to prove this works (don’t kn know k k durin ing th the reduction).

slide-17
SLIDE 17

Id Idea: Instead of computing F(k,x), compute F(k,H(k,x)) with H colli llision-resistant hash function. Why? If φ or x change, so does k or x. Proble lem: Not clear how to prove this works (don’t kn know k k durin ing th the reduction). So Solution: [B [BC10 10] Key-Fin ingerprin int (w (w1,…,wm) = set of inputs s.t. corresponding outputs uniquely define the key. (F(k,w1),…,F( F(k,wm)) ≠ (F( F(k’,w1),…,F(k’,wm)) if iff k ≠ k’  F(k,H((F (F(k,w1),…,F(k,wm)) )),x))

slide-18
SLIDE 18

The Bellare-Cash Framework

PRF Φ-Key-Malleable Φ Claw-Free Φ-RKA-PRF against UI Adversaries Key-Fingerprint Φ-RKA-PRF

slide-19
SLIDE 19

The Bellare-Cash Framework

PRF Φ-Key-Malleable Φ Claw-Free Φ-RKA-PRF against UI Adversaries Key-Fingerprint Φ-RKA-PRF Limitations:

  • Claw-free classes only.
  • Proof based on Key-Transformer.
slide-20
SLIDE 20

Reduction time?

NR(k+1,11…1) = g(k1+1).(k2+1). … .(kn+1) = gk1k2…kn . gk2k3…kn . gk1k3…kn . … . gk1 . g 2n terms = NR(k,x) Running time of the key transformer: O(2 (2n)

Π

x ∈ {0,1}n

NR(k,x) = g [NR97]

n i = 1

Π k[i]x[i]

slide-21
SLIDE 21

PRF Φ-Key-Malleable Φ Claw-Free Φ-RKA-PRF against UI Adversaries Key-Fingerprint Φ-RKA-PRF

Part 3: Our Contributions

Limitations:

  • Claw-free classes only. (Not detailed in this talk)
  • Proof based on Key-Transformer.
slide-22
SLIDE 22

PRF Φ-Key-Malleable Φ-RKA-PRF against UI Adversaries Key-Fingerprint Φ-RKA-PRF

Part 3: Our Contributions

Limitations:

  • Proof based on Key-Transformer ⟹ Pol
  • lynomia

ial l Tim ime Reduction for Φ+.

slide-23
SLIDE 23

We can prove UI-RKA security for Φ+ using key-malleability. Exp-time reduction… Our paper: we provide a better reduction by provin ing it it dir irectly.

A Direct Polynomial-Time Security Proof

NR(k,x) = g

n i = 1

Π k[i]x[i] Naor-Reingold PRF:

slide-24
SLIDE 24

NR(k,x) = g

n i = 1

Π k[i]x[i] Naor-Reingold PRF:

slide-25
SLIDE 25

g

x[1] x[2] x[3] . . . x[n-1] x[n]

Naor-Reingold PRF: NR(k,x) = g

n i = 1

Π k[i]x[i]

slide-26
SLIDE 26

g

1 x[2] x[3] . . . x[n-1] x[n] gk[1]

NR(k,x) = g

n i = 1

Π k[i]x[i] Naor-Reingold PRF:

slide-27
SLIDE 27

g

1 x[3] . . . x[n-1] x[n] gk[1]

NR(k,x) = g

n i = 1

Π k[i]x[i] Naor-Reingold PRF:

slide-28
SLIDE 28

g

1 1 . . . x[n-1] x[n] gk[1]k[3]

NR(k,x) = g

n i = 1

Π k[i]x[i] Naor-Reingold PRF:

slide-29
SLIDE 29

g

1 1 . . . x[n-1] x[n] gk[1]k[3]…

NR(k,x) = g

n i = 1

Π k[i]x[i] Naor-Reingold PRF:

slide-30
SLIDE 30

g

1 1 . . . 1 x[n] gk[1]k[3]…k[n-1]

NR(k,x) = g

n i = 1

Π k[i]x[i] Naor-Reingold PRF:

slide-31
SLIDE 31

g

1 1 . . . 1 gk[1]k[3]…k[n-1]

NR(k,x) = g

n i = 1

Π k[i]x[i] Naor-Reingold PRF:

slide-32
SLIDE 32

g

gk[1]k[3]…k[n-1] = NR(k,101…10) 1 1 . . . 1

NR(k,x) = g

n i = 1

Π k[i]x[i] Naor-Reingold PRF:

slide-33
SLIDE 33

x[1] x[2] x[3] . . . x[n-1] x[n] k[1] k[2] k[3] k[n] . . . k[n-1] Level 1 Level 2 Level 3 Level n-1 Level n

2i nodes at level i Outputs = Leaves (2n values) NR(k,x) = g

n i = 1

Π k[i]x[i] Naor-Reingold PRF:

slide-34
SLIDE 34

k[n] k[n-1] $

?

UI-RKA security:

k[1] k[2] k[3] . . .

slide-35
SLIDE 35

k[1] k[2] k[3] k[n] . . . k[n-1]

Id Idea: use a hybrid proof.

slide-36
SLIDE 36

$ k[2] k[3] k[n] . . . k[n-1]

Id Idea: use a hybrid proof.

slide-37
SLIDE 37

$ k[3] k[n] . . . k[n-1]

Id Idea: use a hybrid proof.

slide-38
SLIDE 38

$ k[n] . . . k[n-1]

Id Idea: use a hybrid proof.

slide-39
SLIDE 39

$ k[n] k[n-1]

. . .

Id Idea: use a hybrid proof.

slide-40
SLIDE 40

$ k[n]

. . .

Id Idea: use a hybrid proof.

slide-41
SLIDE 41

$

. . .

Id Idea: use a hybrid proof.

slide-42
SLIDE 42

$ k[i] k[n]

. . .

k[n-1] k[i+1] $ k[n]

. . .

k[n-1] k[i+1]

?

slide-43
SLIDE 43

$ k[i] k[n]

. . .

k[n-1] k[i+1] $ k[n]

. . .

k[n-1] k[i+1]

?

Proble lem: Keys might change at each query! Fir First question: How to define the random values? Ne New ran andom valu alue for an any new key?

slide-44
SLIDE 44

$ k[i] [i] k[n]

. . .

k[n-1] k[i+1] $ k[n]

. . .

k[n-1] k[i+1]

?

Proble lem: Keys might change at each query! Fir First question: How to define the random values? Ne New ran andom valu alue for an any new key?

slide-45
SLIDE 45

$ k[i] [i] + + 1 k[n]

. . .

k[n-1] k[i+1] $ k[n]

. . .

k[n-1] k[i+1]

?

Proble lem: Keys might change at each query! Fir First question: How to define the random values? Ne New ran andom valu alue for an any new key?

slide-46
SLIDE 46

g g

. . . . . .

k[1] k[ k[i] i] k[n]

. . . . . .

Attack with 3 queries

$ k[i] k[i+1] $ k[i+1]

slide-47
SLIDE 47

g g

. . . . . .

k[1] k[ k[i] i] k[n]

. . . . . .

  • 1. ga

1. ga Values used at level i:

ga ga ga

slide-48
SLIDE 48

g g

. . . . . .

k[1] k[ k[i] i] k[n]

. . . . . .

  • 1. ga
  • 2. gak[i]

1. ga 2. gc Values used at level i:

ga ga ga gak[i] gc

slide-49
SLIDE 49

g g

. . . . . .

k[1] k[ k[i] i] + 1 k[n]

. . . . . .

Values used at level i:

ga ga ga ga(k[i]+1) gc’ ?

  • 1. ga
  • 2. gak[i]
  • 3. ga(k[i]+1) = gak[i].ga

1. ga 2. gc 3. gc’ ≠ gc.g .ga

a ?

slide-50
SLIDE 50

g g

. . . . . .

k[1] k[ k[i] i] + 1 k[n]

. . . . . .

Values used at level i:

ga ga ga ga(k[i]+1) gc’ ?

  • 1. ga
  • 2. gak[i]
  • 3. ga(k[i]+1) = gak[i].ga

1. ga 2. gc 3. gc’ ≠ gc.g .ga

a ?

Hyb ybrid ids ar are not

  • t

in indis istin inguis ishable le

slide-51
SLIDE 51

g g

. . . . . .

k[1] k[ k[i] i] + 1 k[n]

. . . . . .

Values used at level i:

ga ga ga ga(k[i]+1) gc.g .ga

  • 1. ga
  • 2. gak[i]
  • 3. ga(k[i]+1) = gak[i].ga

1. ga 2. gc 3. gc’ ≠ gc.g .ga

a ?

? gc.g .ga In Indistin inguishable le

slide-52
SLIDE 52

g

. . .

$ k[i+1]

Each time we need to define a new random value at level i:

slide-53
SLIDE 53

g

. . .

$ k[i+1]

Each time we need to define a new random value at level i:

slide-54
SLIDE 54

g

. . .

$ k[i+1]

Each time we need to define a new random value at level i:

  • 1. Check if it is supposed to be related to values previously defined.
slide-55
SLIDE 55

g

. . .

$ k[i+1]

Each time we need to define a new random value at level i:

  • 1. Check if it is supposed to be related to values previously defined.
  • 2. If related: compute from previous values

Otherwise: set to a fresh random value.

slide-56
SLIDE 56

g

$ k[i] k[n]

. . .

k[n-1]

Clai laim: these hybrids are indistinguishable under the DDH assumption.

k[i+1]

g

$ k[n]

. . .

k[n-1] k[i+1]

DDH

slide-57
SLIDE 57

To

  • conclu

lude th the proof: Last hybrid random ≈ random UI-RKA security game. Uniq ique-in inputs guarantee th this is. Valu alues s at t le level n ar are never rela lated. Alw lways fr fresh unif iformly ran andom valu alues.

slide-58
SLIDE 58

$

Additive UI-RKA-PRF secure under DDH

DDH DDH DDH DDH DDH DDH . . .

slide-59
SLIDE 59

Reductio ion tim time: Running time ≈ Time to check if the values are related for each query. We show how to do it in O(Q4) in the paper (Q = # of queries).  Polynomial time reduction!

slide-60
SLIDE 60

Φ-RKA-PRF against UI Adversaries Key-Fingerprint Φ-RKA-PRF

Summary

Generic Framework extending [BC10]. Polynomial time reduction for additive, affine and polynomial classes for NR.

slide-61
SLIDE 61

Thank you for your attention. Questions?