125
Constraint hiding constrained PRF for NC1 from LWE Ran Canetti, Yilei Chen, from Boston University Aarhus University special edition

Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

Constraint hiding constrained PRF for NC1 from LWE

Ran Canetti, Yilei Chen, from Boston University

Aarhus University special edition

Page 2: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

Constraint hiding constrained PRF for NC1 from LWE

Ran Canetti, Yilei Chen, from Boston University

Aarhus University special edition

Page 3: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

3Once upon a time, a Swede, a Dane, and a Norwegian found

themselves on a small island.

Page 4: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

4There’s a cannibal tribe on the island. They imprison the three

man. Each of the three man is allowed to make a final wish.

Page 5: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

5

Norwegian: I want to meet my wife.

Wife

Page 6: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

6

Norwegian: I want to meet my wife. The cannibals agree. Finally they eat the Norwegian and turn his skin into a canoe.

Page 7: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

7

Swede: I want to have another cigarette.

Cigarette

Page 8: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

8

Swede: I want to have another cigarette. The cannibals agree. Finally they eat the Swede and turn his skin into a canoe.

Page 9: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

9

Dane: ...

Page 10: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

10

Dane: I want a puncturable PRF!

Puncturable PRF!

Page 11: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

11

Dane: I want a puncturable PRF!Then you cannot turning my skin into a canoe!!!!!!

yay!

Page 12: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

12

K

Puncturable/constrained PRF[Boneh, Waters 13, Kiayias, Papadopoulos, Triandopoulos, Zacharias 13, Boyle, Goldwasser, Ivan 14, Sahai, Waters 14]

original key

Page 13: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

13

K FK{x*}(x)=

Puncturable/constrained PRF[Boneh, Waters 13, Kiayias, Papadopoulos, Triandopoulos, Zacharias 13, Boyle, Goldwasser, Ivan 14, Sahai, Waters 14]

punctured keyoriginal key

x*

Puncture(K, x*) => K{x*} s.t. Fk(x*) is pseudorandom, give the K{x*}

that preserve the original outputs elsewhere.

FK(x), else{

? , if x=x*

Page 14: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

14

K FK{x*}(x)=

Puncturable/constrained PRF[Boneh, Waters 13, Kiayias, Papadopoulos, Triandopoulos, Zacharias 13, Boyle, Goldwasser, Ivan 14, Sahai, Waters 14]

punctured keyoriginal key

x*

Puncture(K, x*) => K{x*} s.t. Fk(x*) is pseudorandom, give the K{x*}

that preserve the original outputs elsewhere.

In general: Constrain(K, C) => K{C}

FK(x), else{

? , if x=x*

Page 15: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

15

K FK{x*}(x)=

Puncturable/constrained PRF[Boneh, Waters 13, Kiayias, Papadopoulos, Triandopoulos, Zacharias 13, Boyle, Goldwasser, Ivan 14, Sahai, Waters 14]

punctured keyoriginal key

x*

Puncture(K, x*) => K{x*} s.t. Fk(x*) is pseudorandom, give the K{x*}

that preserve the original outputs elsewhere.

In general: Constrain(K, C) => K{C}

They have many applications (delegate PRF, broadcast encryption, identity-based KE, ...) best known for being good friends of iO

FK(x), else{

? , if x=x*

Page 16: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

16

Puncturable PRF from GGM[Goldreich, Goldwasser, Micali 84]

Page 17: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

17

original

fresh random

Puncturable PRF from GGM[Goldreich, Goldwasser, Micali 84]

Page 18: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

18

The constrained key reveals the point x

original

fresh random

Puncturable PRF from GGM[Goldreich, Goldwasser, Micali 84]

Page 19: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

19

What about hiding the constraint?

Page 20: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

20

Dane: I want a puncturable PRF!Then you cannot turning my skin into a canoe!!!!!!

yay!

Page 21: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

21

Dane: I want a puncturable PRF!Then you cannot turning my skin into a canoe!!!!!!YOU DON’T EVEN KNOW HOW I PUNCTURED

yay!

Page 22: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

22

Some motivation scenario: “Tricky” encryption key

Some 3-letter agent

Page 23: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

23

Some motivation scenario: “Tricky” encryption key

Some 3-letter agent

full key

Page 24: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

24

Some motivation scenario: “Tricky” encryption key

Some 3-letter agent

full key corrupted key (changed on some values)

Page 25: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

25

Boneh, Lewi, Wu (PKC17, eprint 2015/1167)

What are Constraint-Hiding CPRFs: an indistinguishability-based definition

Where to find them (secure for many keys):- iO(PPRF) is CHCPRF - Can achieve bit-fixing, puncturing under

multilinear DDH, subgroup-hiding

How

Page 26: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

26

Boneh, Lewi, Wu (PKC17, eprint 2015/1167)

What are Constraint-Hiding CPRFs: an indistinguishability-based definition

Where to find them (secure for many keys):- iO(PPRF) is CHCPRF - Can achieve bit-fixing, puncturing under

multilinear DDH, subgroup-hiding

How

Page 27: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

27

Boneh, Lewi, Wu (PKC17, eprint 2015/1167)

What are Constraint-Hiding CPRFs: an indistinguishability-based definition

Where to find them (secure for many keys):- iO(PPRF) is CHCPRF - Can achieve bit-fixing, puncturing under

multilinear DDH, subgroup-hiding

How

Page 28: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

28

Boneh, Lewi, Wu (PKC17, eprint 2015/1167)

What are Constraint-Hiding CPRFs: an indistinguishability-based definition

Where to find them (secure for many keys):- iO(PPRF) is CHCPRF - Can achieve bit-fixing, puncturing under

multilinear DDH, subgroup-hiding

How to use them:Private-key deniable encryption, Privately-detectable watermarking, Searchable encryption

Page 29: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

29

This talk:Canetti, Chen (Eurocrypt17)

What are Constraint-Hiding CPRFs:A simulation-based definition of CHCPRF

Where to find them:Simulation-based 1-key CHCPRFs for NC1 from Learning With Errors

How

Page 30: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

30

This talk:Canetti, Chen (Eurocrypt17)

What are Constraint-Hiding CPRFs:A simulation-based definition of CHCPRF

Where to find them:Simulation-based 1-key CHCPRFs for NC1 from Learning With Errors

How

Page 31: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

31

This talk:Canetti, Chen (Eurocrypt17)

What are Constraint-Hiding CPRFs:A simulation-based definition of CHCPRF

Where to find them:Simulation-based 1-key CHCPRFs for NC1 from Learning With Errors

How

Page 32: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

32

This talk:Canetti, Chen (Eurocrypt17)

What are Constraint-Hiding CPRFs:A simulation-based definition of CHCPRF

Where to find them:Simulation-based 1-key CHCPRFs for NC1 from Learning With Errors

How to use them:- 1-key CHCPRF implies 1-key private-key

functional encryption (reusable garbled circuits)- 2-key CHCPRF implies obfuscation*

Page 33: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

33

Plan for the talk:

Part 1: Definition, relation to obfuscation, functional encryption

Part 2: How to construct CHCPRFs, more on GGH15 mmaps

Page 34: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

34

Defining constraint-hiding constraint PRF (CHCPRF)

Page 35: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

35definition of CHCPRF

Master_KeyGen -> MSK

Page 36: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

36

Master_KeyGen -> MSK

Cons(MSK, C) -> K[C]

definition of CHCPRF

Page 37: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

37definition of CHCPRF

Master_KeyGen -> MSK

Cons(MSK, C) -> K[C]

Eval(K, x) -> FK(x)

Page 38: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

38

Simulation-based CHCPRF [CC 17]

SimulatorRealadv

for all p.p.t. adv, there’s a simulator, such that the outputs of the real and simulated distributions are indistinguishable.

Page 39: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

39

SimulatorReal

MSK MSKSMaster KeyGen

Simulation-based definition of CHCPRF

adv

Master_KeyGen -> MSK

Cons(MSK, C) -> K[C]

Eval(K, x) -> FK(x)

Page 40: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

40

SimulatorReal

MSK MSKS

Constraint query C

Master KeyGen

Simulation-based definition of CHCPRF

adv

Master_KeyGen -> MSK

Cons(MSK, C) -> K[C]

Eval(K, x) -> FK(x)

Page 41: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

41

SimulatorReal

MSK MSKS

Constraint query C

Master KeyGen

Cons(MSK, C) -> K[C]

Simulation-based definition of CHCPRF

adv

Master_KeyGen -> MSK

Cons(MSK, C) -> K[C]

Eval(K, x) -> FK(x)

Page 42: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

42

SimulatorReal

MSK MSKS

Constraint query C

Master KeyGen

Input query x

Cons(MSK, C) -> K[C]

Simulation-based definition of CHCPRF

adv

Master_KeyGen -> MSK

Cons(MSK, C) -> K[C]

Eval(K, x) -> FK(x)

Page 43: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

43

SimulatorReal

MSK MSKS

Constraint query C

Master KeyGen

Input query x

Cons(MSK, C) -> K[C]

Eval(MSK, x) -> FK(x)

Simulation-based definition of CHCPRF

adv

Master_KeyGen -> MSK

Cons(MSK, C) -> K[C]

Eval(K, x) -> FK(x)

Page 44: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

44

SimulatorReal

MSK MSKS

Constraint query C

Master KeyGen

Input query x

Cons(MSK, C) -> K[C] KS <- Sim(MSKS, 1|C|)

Eval(MSK, x) -> FK(x)

Simulation-based definition of CHCPRF

adv

Master_KeyGen -> MSK

Cons(MSK, C) -> K[C]

Eval(K, x) -> FK(x)

Page 45: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

45

SimulatorReal

MSK MSKS

Constraint query C

Master KeyGen

Input query x

Cons(MSK, C) -> K[C] KS <- Sim(MSKS, 1|C|)

Eval(MSK, x) -> FK(x) yS <- Sim(MSKS, x, C(x))

Simulation-based definition of CHCPRF

adv

Master_KeyGen -> MSK

Cons(MSK, C) -> K[C]

Eval(K, x) -> FK(x)

Page 46: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

46

SimulatorReal

MSK MSKS

Constraint query C

Master KeyGen

Input query x

Cons(MSK, C) -> K[C] KS <- Sim(MSKS, 1|C|)

Eval(MSK, x) -> FK(x) yS <- Sim(MSKS, x, C(x))

Simulation-based definition of CHCPRF

Correctness: for x s.t. C(x)=1, Pr [ FK(x) = F

K[C](x) ] > 1-negl.

adv

Page 47: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

47

SimulatorReal

MSK MSKS

Constraint query C

Master KeyGen

Input query x

Cons(MSK, C) -> K[C] KS <- Sim(MSKS, 1|C|)

Eval(MSK, x) -> FK(x) yS <- Sim(MSKS, x, C(x))

Simulation-based definition of CHCPRF

Correctness: for x s.t. C(x)=1, Pr [ FK(x) = F

K[C](x) ] > 1-negl.

Pseudorandom & Constraint-hiding:

adv

K[C], FK(x) ≈

c KS , yS (when C(x)=0, yS is from random)

Page 48: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

48

Theorem [CC17]For 1-constrained key in the selective setting

sim-based = ind-based

sim ind

Page 49: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

49

SimulatorReal

Sim-based definition for many constrained keys

adv

Page 50: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

50

SimulatorReal

MSK MSKS

Constraint query C1

Master KeyGen

Cons(MSK, C1) -> K[C

1] K

1S <- Sim(MSKS, 1|C|)

Sim-based definition for many keys

Correctness: for x s.t. C(x)=1, Pr [ FK(x) = F

K[C](x) ] > 1-negl.

Constraint-hiding: K[C1], K[C

2] ≈

c K

1S , K

2S

adv

Constraint query C2

Cons(MSK, C2) -> K[C

2] K

2S <- Sim(MSKS, 1|C|)

Page 51: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

51

SimulatorReal

MSK MSKS

Constraint query C1

Master KeyGen

Cons(MSK, C1) -> K[C

1] K

1S <- Sim(MSKS, 1|C|)

Relaxed Sim-based definition for many keys

Correctness: for x s.t. C(x)=1, Pr [ FK(x) = F

K[C](x) ] > 1-negl.

Constraint-hiding: K[C1], K[C

2] ≈

c K

1S , K

2S

adv

Constraint query C2

Cons(MSK, C2) -> K[C

2] K

2S <- Sim(MSKS, 1|C|)

C1(x)?C2(x)?

Page 52: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

Reminiscent of obfuscation ...

Hide the program in the constraint

Page 53: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

53

CZ

Obfuscation

Theorem [ CC 17 ]: Two-key CHCPRF (for function class C) implies obfuscation (for C)- Two-key relaxed sim-CHCPRF implies strong VBB obfuscation - Two-key ind-CHCPRF implies iO

Page 54: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

54

Theorem [ CC 17 ]: Two-key CHCPRF (for function class C) implies obfuscation (for C)- Two-key relaxed sim-CHCPRF implies strong VBB obfuscation - Two-key ind-CHCPRF implies iO

CZ

Idea implicit from the [GGHRSW13] candidate obfuscation

Obfuscation

Construction:

Obf = ( K[C], K[Z] )

Eval(x): check consistencyEval( K[C], x) =? Eval( K[Z], x)

Page 55: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

55

In the rest of the talk, we will focus on:

1-key simulation-based definition for CHCPRF.

Page 56: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

CHCPRF => Functional encryption

Decrypt and eval

Page 57: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

Theorem [ CC 17 ] 1-key sim-based CHCPRF implies 1-key private-key functional encryption (reusable garbled circuits).

Page 58: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

Construction: from normal encryption Sym and CHCPRF F

Enc(m;r): ct = EncSym.K

(m;r); tag = F[K](ct)

FSK[Sym.K, F.K, C]: constrained key for the “decryption and eval” functionality C(Dec

Sym.K( . ))

Eval: compute F[C(DecSym.K

( . ))](ct), and compare with tag

Theorem [ CC 17 ] 1-key sim-based CHCPRF implies 1-key private-key functional encryption (reusable garbled circuits).

Page 59: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

59Where to find it?

Page 60: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

60

Combine:- Lattices-based PRFs- Barrington’s theorem to embed functionality- GGH15 encoding to provide a public constrained mode

Demonstrate a proof methodology of GGH15-based applications.

Main construction:1-key sim-based CHCPRFs for NC1 from Learning With Errors, based on the multilinear maps by Gentry, Gorbunov, Halevi (GGH15)

Page 61: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

61

Short intro to BPR12[Banerjee, Peikert, Rosen 12]

-- the first LWE-based PRF

Page 62: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

62

+ mod q

Learning with errors

As ExY =

A

Uniform Small Unspecified

Secret coefficient/mask noise/error

A is n-by-m in Zq (n is the lattice dimension, m > n log q)Search LWE: Given A, y=sA+E, find s Decisional LWE: distinguish y from randomAs hard as worst-case approx-SIVP (Quantumly) [Regev 05] (classically for subexponential q) [Peikert 09, BLPRS 13]

Page 63: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

63

A is n-by-m in Zq (n is the lattice dimension, m > n log q)Search LWE: Given A, y=sA+E, find s Decisional LWE: distinguish y from randomAs hard as worst-case approx-SIVP (Quantumly) [Regev 05] (classically for subexponential q) [Peikert 09, BLPRS 13]

+ mod q

Learning with errors

As ExY =

A

Uniform Small Unspecified

Secret coefficient/mask noise/error

Page 64: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

64

Entries of S are small (e.g. from the error distribution)As hard as normal LWE [ Applebaum, Cash, Peikert, Sahai 09 ]

+ mod q

LWE (with small secrets)

As ExY =

A

Uniform Small Unspecified

Secret coefficient/mask noise/error

Page 65: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

65

mod qAs2,1

s2,0

sn,1

sn,0

s1,1

s1,0

F(x) = { ∏si,xi

A }2

Banerjee, Peikert, Rosen ‘12Subset-product & rounding

Key:

Eval:

...

...

si,b are LWE secrets from low-norm distributions

Page 66: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

66

Rounding: {t}p: Z

q -> Z

p

Compute t*p/q, then round to the nearest integer

In this talk, p=2, q/p>exp(L), q/p ∼ super-polynomial

q

Amount of noise

Page 67: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

67

Main observation: After rounding, can inject noises without changing functionality whp.

F(x) = { ∏si,xi

A }2

Uniform Small Unspecified

A is public, Si,xi

are secret

mod qAS4,1

S4,0

S3,1

S3,0

S2,1

S2,0

S1,1

S1,0

Banerjee, Peikert, Rosen 12Proof of pseudorandomness

Page 68: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

68

F(x) = { ∏si,xi

A }2 F(0110)

= { s1,0

s2,1

s3,1

s4,0

A }2

Uniform Small Unspecified

A is public, Si,xi

are secret

mod qAS4,1

S4,0

S3,1

S3,0

S2,1

S2,0

S1,1

S1,0

Banerjee, Peikert, Rosen 12Proof of pseudorandomness

Page 69: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

69

F(x) = { ∏si,xi

A }2 F(0110)

= { s1,0

s2,1

s3,1

s4,0

A }2

≈s { s

1,0s

2,1s

3,1(s

4,0 A+E

4,0) }

2

Uniform Small Unspecified

A is public, Si,xi

are secret

mod qAS4,1

S4,0

S3,1

S3,0

S2,1

S2,0

S1,1

S1,0

Banerjee, Peikert, Rosen 12Proof of pseudorandomness

Page 70: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

70

F(x) = { ∏si,xi

A }2 F(0110)

= { s1,0

s2,1

s3,1

s4,0

A }2

≈s { s

1,0s

2,1s

3,1(s

4,0 A+E

4,0) }

2≈

c { s

1,0s

2,1s

3,1Y

***0 }

2

Uniform Small Unspecified

A is public, Si,xi

are secret

mod qAS4,1

S4,0

S3,1

S3,0

S2,1

S2,0

S1,1

S1,0

Banerjee, Peikert, Rosen 12Proof of pseudorandomness

Page 71: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

71

F(x) = { ∏si,xi

A }2 F(0110)

= { s1,0

s2,1

s3,1

s4,0

A }2

≈s { s

1,0s

2,1s

3,1(s

4,0 A+E

4,0) }

2≈

c { s

1,0s

2,1s

3,1Y

***0 }

2≈

s { s

1,0s

2,1(s

3,1Y

***0+E

3,1) }

2

Uniform Small Unspecified

A is public, Si,xi

are secret

mod qAS4,1

S4,0

S3,1

S3,0

S2,1

S2,0

S1,1

S1,0

Banerjee, Peikert, Rosen 12Proof of pseudorandomness

Page 72: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

72

F(x) = { ∏si,xi

A }2 F(0110)

= { s1,0

s2,1

s3,1

s4,0

A }2

≈s { s

1,0s

2,1s

3,1(s

4,0 A+E

4,0) }

2≈

c { s

1,0s

2,1s

3,1Y

***0 }

2≈

s { s

1,0s

2,1(s

3,1Y

***0+E

3,1) }

2≈

c { s

1,0s

2,1Y

**10 }

2≈ … ≈

{ Y

0110 }

2

Uniform Small Unspecified

A is public, Si,xi

are secret

mod qAS4,1

S4,0

S3,1

S3,0

S2,1

S2,0

S1,1

S1,0

Banerjee, Peikert, Rosen 12Proof of pseudorandomness

Page 73: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

73

mod qAs2,1

s2,0

sn,1

sn,0

s1,1

s1,0

F(x) = { ∏si,xi

A }2

Banerjee, Peikert, Rosen ‘12Subset-product & rounding

Key:

Eval:

What we need in addition to build a CHCPRF:

+ Embed structures in the secret terms to perform functionality (Barrington’s theorem)+ A proper public mode of the function (GGH15 encoding)

...

...

Page 74: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

74

Barrington’s theorem(used to embed a circuit into the key)

Page 75: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

75Barrington 1986: log-depth boolean circuits can be recognized by subset products of permutation matrices of width 5.

Example: how to represent an AND gate

1

0

Input wire 1 Input wire 1Input wire 2 Input wire 2

P-1P Q Q-1

I I I I

Our construction only work for certain representation of Barrington (e.g. S5)

Page 76: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

76Barrington 1986: log-depth boolean circuits can be recognized by subset products of permutation matrices of width 5.

Example: how to represent an AND gate 0 and 0

1

0

Input wire 1 Input wire 1Input wire 2 Input wire 2

I I I I

Our construction only work for certain representation of Barrington (e.g. S5)

Page 77: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

77Barrington 1986: log-depth boolean circuits can be recognized by subset products of permutation matrices of width 5.

Example: how to represent an AND gate 0 and 1

1

0

Input wire 1 Input wire 1Input wire 2 Input wire 2

I I

Our construction only work for certain representation of Barrington (e.g. S5)

Q Q-1

Page 78: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

78Barrington 1986: log-depth boolean circuits can be recognized by subset products of permutation matrices of width 5.

Example: how to represent an AND gate 1 and 0

1

0

Input wire 1 Input wire 1Input wire 2 Input wire 2

I I

Our construction only work for certain representation of Barrington (e.g. S5)

P-1P

Page 79: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

79Barrington 1986: log-depth boolean circuits can be recognized by subset products of permutation matrices of width 5.

Example: how to represent an AND gate 1 and 1 PQP-1Q-1 = C ≠ I

1

0

Input wire 1 Input wire 1Input wire 2 Input wire 2

Our construction only work for certain representation of Barrington (e.g. S5)

P-1P Q Q-1

Page 80: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

80

Representation of the constraint predicate: branching program

1 B1,1

B2,1

B3,1

... BL,1

0 B1,0

B2,0

B3,0

... BL,0

Steps 1 2 3 ... L

Eval: ∏Bz(i),x_z(i)

= I or C

Page 81: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

81

We set the secrets like:

Representation of secrets (to be encoded by GGH15): Bi,b⊗s

i,b

e.g. I ⊗ s =

S

S

S

S

S

S

S

S

S

S

S4,1

S4,0

S3,1

S3,0

S2,1

S2,0

S1,1

S1,0

S

S

S

S

S

P ⊗ s =

Page 82: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

82

GGH15 encoding[Gentry, Gorbunov, Halevi 15]

Page 83: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

83

The “plaintexts” are encoded in the secret terms of LWE

GGH15 “graph-induced multilinear maps”

GGH15: (Ring)LWE analogy

g, gS1,... gSk, g∏S

Normal hard group for DLOG

A, S1A+E

1,..., S

kA+E

k, ∏SA+E

Multilinear maps perspective:

Page 84: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

84

Trapdoor

Trapdoor [Ajtai 99, Alwen, Peikert 09, Micciancio, Peikert 12]Can sample A with a trapdoor T.

Can sample small preimage from Gaussian [ Klein ‘00, GPV’08 ]

A with

Page 85: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

85

Ai Ai+1

Si,1

Si,0

GGH15 encoding for the ith hop:

Page 86: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

86

Ai

Encode(si,b

): 2 steps1. Y

i,b = s

i,b A

i+1+E

i,b

Ai+1

Si,1

Si,0

Yi,1

= si,1

Ai+1

+Ei,1

Yi,0

= si,0

Ai+1

+Ei,0

GGH15 encoding for the ith hop:

Page 87: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

87

Ai

Di,1

Di,0

Encode(si,b

): 2 steps1. Y

i,b = s

i,b A

i+1+E

i,b2. Sample (by the trapdoor of A

i) small D

i,b s.t. A

iD

i,b=Y

i,b

Ai+1

Si,1

Si,0

Yi,1

= si,1

Ai+1

+Ei,1

Yi,0

= si,0

Ai+1

+Ei,0

GGH15 encoding for the ith hop:

Di,bSi,b = Encoding( )

Page 88: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

88

A1

GGH15 for L hops:

AL+1AL

A2

Page 89: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

89

A1

GGH15 for L hops:

Encode(si,b

): 2 steps

AL+1

SL,1

SL,0

AL

A2

S1,1

S1,0

Page 90: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

90

A1

GGH15 for L hops:

Encode(si,b

): 2 steps1. Y

i,b = s

i,b A

i+1+E

i,b

AL+1

SL,1

SL,0

AL

A2

S1,1

S1,0

YL,1

= sL,1

AL+1

+EL,1

YL,0

= sL,0

AL+1

+EL,0

Y1,1

= s1,1

A2+E

1,1

Y1,0

= s1,0

A2+E

1,0

Page 91: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

91

A1

D1,1

D1,0

GGH15 for L hops:

Encode(si,b

): 2 steps1. Y

i,b = s

i,b A

i+1+E

i,b2. Sample (by the trapdoor of A

i) small D

i,b s.t. A

iD

i,b=Y

i,b

Let Di,b

be Encoding(si,b

)

AL+1

SL,1

SL,0

YL,1

= sL,1

AL+1

+EL,1

YL,0

= sL,0

AL+1

+EL,0

AL

DL,1

DL,0

A2

S1,1

S1,0

Y1,0

= s1,0

A2+E

1,0

Y1,1

= s1,1

A2+E

1,1

Page 92: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

92

A1

D1,1

D1,0

GGH15 for L hops:

Review: What are public

AL+1AL

DL,1

DL,0

A2

Page 93: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

93

Understanding the functionality of GGH15

Page 94: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

94

D4,1

D4,0

D3,1

D3,0

D2,1

D2,0 Eval(0110)

= A1D

1,0D

2,1D

3,1D

4,0

A1

D1,1

D1,0

Evaluation of GGH15 (prove by example):

Page 95: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

95

A2

S1,1

S1,0

+ E1,1

+ E1,0( ) Eval(0110)

= A1D

1,0D

2,1D

3,1D

4,0

= (s1,0

A2+E

1,0)D

2,1D

3,1D

4,0

D4,1

D4,0

D3,1

D3,0

D2,1

D2,0

Evaluation of GGH15 (prove by example):

Page 96: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

96

+ “small” Eval(0110)

= A1D

1,0D

2,1D

3,1D

4,0

= (s1,0

A2+E

1,0)D

2,1D

3,1D

4,0

= s1,0

A2D

2,1D

3,1D

4,0 + “small”

A2

S1,1

S1,0

D4,1

D4,0

D3,1

D3,0

D2,1

D2,0

Evaluation of GGH15 (prove by example):

Page 97: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

97

A3

S2,1

S2,0

S1,1

S1,0

+ “small”

+ E2,1

+ E2,0( ) Eval(0110)

= A1D

1,0D

2,1D

3,1D

4,0

= (s1,0

A2+E

1,0)D

2,1D

3,1D

4,0

= s1,0

A2D

2,1D

3,1D

4,0 + “small”

= s1,0

(s2,1

A3+E

2,1)D

3,1D

4,0 + “small”

D4,1

D4,0

D3,1

D3,0

Evaluation of GGH15 (prove by example):

Page 98: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

98

A3

S2,1

S2,0

S1,1

S1,0

+ “small”

D4,1

D4,0

D3,1

D3,0

Evaluation of GGH15 (prove by example):

Eval(0110)

= A1D

1,0D

2,1D

3,1D

4,0

= (s1,0

A2+E

1,0)D

2,1D

3,1D

4,0

= s1,0

A2D

2,1D

3,1D

4,0 + “small”

= s1,0

(s2,1

A3+E

2,1)D

3,1D

4,0 + “small”

= s1,0

s2,1

A3D

3,1D

4,0 + “still small”

Page 99: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

99

A4

S3,1

S3,0

S2,1

S2,0

S1,1

S1,0

+ “small”

D4,1

D4,0

Evaluation of GGH15 (prove by example):

Eval(0110)

= A1D

1,0D

2,1D

3,1D

4,0

= (s1,0

A2+E

1,0)D

2,1D

3,1D

4,0

= s1,0

A2D

2,1D

3,1D

4,0 + “small”

= s1,0

(s2,1

A3+E

2,1)D

3,1D

4,0 + “small”

= s1,0

s2,1

A3D

3,1D

4,0 + “still small”

= s1,0

s2,1

s3,1

A4D

4,0 + “still smallish”

Page 100: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

Eval(0110)

= A1D

1,0D

2,1D

3,1D

4,0

= (s1,0

A2+E

1,0)D

2,1D

3,1D

4,0

= s1,0

A2D

2,1D

3,1D

4,0 + “small”

= s1,0

(s2,1

A3+E

2,1)D

3,1D

4,0 + “small”

= s1,0

s2,1

A3D

3,1D

4,0 + “still small”

= s1,0

s2,1

s3,1

A4D

4,0 + “still smallish”

= s1,0

s2,1

s3,1

s4,0

A5 + “small” 100

A5

S4,1

S4,0

S3,1

S3,0

S2,1

S2,0

S1,1

S1,0

+ “small”

Evaluation of GGH15 (prove by example):

Page 101: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

101

Evaluation of GGH15 (prove by example):

A5

S4,1

S4,0

S3,1

S3,0

S2,1

S2,0

S1,1

S1,0

+ “small”

D4,1

D4,0

D3,1

D3,0

D2,1

D2,0

A1

D1,1

D1,0

Evalua

te

Page 102: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

102

CHCPRF for NC1 constraint

Page 103: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

103

NC1-CHCPRF from GGH15

Master public key: A1 … A

L+1 (L = #steps in BP)

Master secret key: trapdoors of A1 … A

L, s

1,0 , s

1,1, ..., s

L,0, s

L,1, & J

Page 104: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

104

NC1-CHCPRF from GGH15

Master public key: A1 … A

L+1 (L = #steps in BP)

Master secret key: trapdoors of A1 … A

L, s

1,0 , s

1,1, ..., s

L,0, s

L,1, & J

Constrained key gen: let Si,b

:=Bi,b⊗s

i,b, sample GGH15 encodings for S

i,b

Eval: F(x) = { JA1 ∏D

i,x_z(i) }

2 (z: [L]->[n] is the step-to-input mapping)

D2,1

Constrained key:

D3,1

D2,0 D3,0

D1,1

D1,0

D4,1

D4,0

1 2 1 2

GGH15(Bi,b⊗s

i,b)

JA1+E

Page 105: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

105

NC1-CHCPRF from GGH15

Master public key: A1 … A

L+1 (L = #steps in BP)

Master secret key: trapdoors of A1 … A

L, s

1,0 , s

1,1, ..., s

L,0, s

L,1, & J

Constrained key gen: let Si,b

:=Bi,b⊗s

i,b, sample GGH15 encodings for S

i,b

Eval: F(x) = { JA1 ∏D

i,x_z(i) }

2 (z: [L]->[n] is the step-to-input mapping)

Functionality check: when C(x)=1,F(x) = { JA

1 ∏D

i,x_z(i) }

2 = { J( I⊗∏s

i,x_z(i) ) A

L+1 + small noise }

2 ≈

s{ J( I⊗∏s

i,x_z(i) ) A

L+1 }

2

when C(x)=0, F(x) = { JA

1 ∏D

i,x_z(i) }

2 = { J( C⊗∏s

i,x_z(i) ) A

L+1 + small noise }

2 ≈

s{ J( C⊗∏s

i,x_z(i) ) A

L+1 }

2

Page 106: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

106

NC1-CHCPRF from GGH15 *

D2,1 D3,1

D2,0 D3,0

D1,1

D1,0

D4,1

D4,0

Compare to GGM

JA1+E

Page 107: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

107

NC1-CHCPRF from GGH15 *

D2,1 D3,1

D2,0 D3,0

D1,1

D1,0

D4,1

D4,0

original

fresh random

Compare to GGM

Bi,b⊗s

i,b

Our CHCPRF

JA1+E

Page 108: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

108

Uniform Small Unspecifieds

i,xi are secret, Ai , Di,xi

are public

Simulator

Real

{ I⊗(s1,1

s2,1

s3,1

s4,1

)A5 }

2

NC1-CHCPRF from GGH15 *

Example: C(x)=0 iff x1=x2=1 query x=11

D2,1A1

D3,1

D2,0 D3,0

D1,1

D1,0

D4,1

D4,0

What are we trying to simulate?

Page 109: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

109Proof by example with 1 input query

Uniform Small Unspecifieds

i,xi are secret, Ai , Di,xi

are public

Simulator

Real

A1

D1,1 D3,1 D4,1

D1,0 D3,0 D4,0D2,0

D2,1

{ I⊗(s1,1

s2,1

s3,1

s4,1

)A5 }

2

{ Uniform }2

NC1-CHCPRF from GGH15 *

Example: C(x)=0 iff x1=x2=1 query x=11

D2,1A1

D3,1

D2,0 D3,0

D1,1

D1,0

D4,1

D4,0

Page 110: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

110

Uniform Small Unspecifieds

i,xi are secret, Ai , Di,xi

are public

A1 A2 A3 A4 A5

Whats up

NC1-CHCPRF from GGH15 *

Example: C(x)=0 iff x1=x2=1 query x=11

Real

D2,1 D3,1

D2,0 D3,0

D1,1

D1,0

D4,1

D4,0

Eval(11) = { I⊗(s1,1

s2,1

s3,1

s4,1

)A5 }

2

Page 111: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

111

Uniform Small Unspecifieds

i,xi are secret, Ai , Di,xi

are public

re-express

NC1-CHCPRF from GGH15 *

Example: C(x)=0 iff x1=x2=1 query x=11

Eval(11) = { I⊗(s1,1

s2,1

s3,1

s4,1

)A5 }

2

≈s { (Q⊗(s

1,1s

2,1s

3,1))((Q-1⊗s

4,1)A

5+E

4,1 ) }

2

D3,1

A4 A5

D3,0

D4,1

D4,0

A1 A2 A3

D2,1

D2,0

D1,1

D1,0

Y4,1= (Q-1⊗s4,1

)A4+E

4,1

Y4,0= (I⊗s4,0

)A4+E

4,0

Page 112: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

112

Uniform Small Unspecifieds

i,xi are secret, Ai , Di,xi

are public

Perm-LWE

NC1-CHCPRF from GGH15 *

Example: C(x)=0 iff x1=x2=1 query x=11

Eval(11) = { I⊗(s1,1

s2,1

s3,1

s4,1

)A5 }

2

≈s { (Q⊗(s

1,1s

2,1s

3,1))U

4,1 }

2

D3,1

A4 A5

D3,0

D4,1

D4,0

A1 A2 A3

D2,1

D2,0

D1,1

D1,0

U4,1

U4,0

Page 113: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

113

Uniform Small Unspecifieds

i,xi are secret, Ai , Di,xi

are publicNC1-CHCPRF from GGH15 *

Example: C(x)=0 iff x1=x2=1 query x=11

Eval(11) = { I⊗(s1,1

s2,1

s3,1

s4,1

)A5 }

2

≈s { (Q⊗(s

1,1s

2,1s

3,1))((Q-1⊗s

4,1)A

5+E

4,1 ) }

2

≈c { (Q⊗(s

1,1s

2,1s

3,1))A

4D

4,1 }

2

D3,1

A4 A5

D3,0

D4,1

D4,0

A1 A2 A3

D2,1

D2,0

D1,1

D1,0

GPV

Page 114: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

114

Uniform Small Unspecifieds

i,xi are secret, Ai , Di,xi

are public

re-express

NC1-CHCPRF from GGH15 *

Example: C(x)=0 iff x1=x2=1 query x=11

Eval(11) = { I⊗(s1,1

s2,1

s3,1

s4,1

)A5 }

2

≈s { (Q⊗(s

1,1s

2,1s

3,1))((Q-1⊗s

4,1)A

5+E

4,1 ) }

2

≈c { (Q⊗(s

1,1s

2,1s

3,1))A

4D

4,1 }

2

≈s { (QP⊗(s

1,1s

2,1))((P-1⊗s

3,1)A

4+E

3,1 )D

4,1 }

2

D3,1

A4 A5

D3,0

D4,1

D4,0

A1 A2 A3

D2,1

D2,0

D1,1

D1,0

Y3,1= (P-1⊗s3,1

)A4+E

3,1

Y3,0= (I⊗s3,0

)A4+E

3,0

Page 115: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

115

Uniform Small Unspecifieds

i,xi are secret, Ai , Di,xi

are public

Perm-LWE + GPV

NC1-CHCPRF from GGH15 *

Example: C(x)=0 iff x1=x2=1 query x=11

Eval(11) = { I⊗(s1,1

s2,1

s3,1

s4,1

)A5 }

2

≈s { (Q⊗(s

1,1s

2,1s

3,1))((Q-1⊗s

4,1)A

5+E

4,1 ) }

2

≈c { (Q⊗(s

1,1s

2,1s

3,1))A

4D

4,1 }

2

≈s { (QP⊗(s

1,1s

2,1))((P-1⊗s

3,1)A

4+E

3,1 )D

4,1 }

2

≈c { (QP⊗(s

1,1s

2,1))A

3D

3,1D

4,1 }

2

D3,1

A4 A5

D3,0

D4,1

D4,0

A1 A2 A3

D2,1

D2,0

D1,1

D1,0

Page 116: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

116

Uniform Small Unspecifieds

i,xi are secret, Ai , Di,xi

are public

CK done, pseudorandomness of the output still not

NC1-CHCPRF from GGH15 *

Example: C(x)=0 iff x1=x2=1 query x=11

Eval(11) = { I⊗(s1,1

s2,1

s3,1

s4,1

)A5 }

2

≈s { (Q⊗(s

1,1s

2,1s

3,1))((Q-1⊗s

4,1)A

5+E

4,1 ) }

2

≈c { (Q⊗(s

1,1s

2,1s

3,1))A

4D

4,1 }

2

≈s { (QP⊗(s

1,1s

2,1))((P-1⊗s

3,1)A

4+E

3,1 )D

4,1 }

2

≈c { (QP⊗(s

1,1s

2,1))A

3D

3,1D

4,1 }

2

≈c …

c { C-1A

1∏D

z(x),x_z(x)}

2

D2,1

A1

D3,1

A2 A3 A4 A5

D2,0 D3,0

D4,1

D4,0

D1,1

D1,0

Page 117: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

117

Uniform Small Unspecifieds

i,xi are secret, Ai , Di,xi

are public

cont.

NC1-CHCPRF from GGH15 *

Example: C(x)=0 iff x1=x2=1 query x=11

Eval(11) = { I⊗(s1,1

s2,1

s3,1

s4,1

)A5 }

2

≈s { (Q⊗(s

1,1s

2,1s

3,1))((Q-1⊗s

4,1)A

5+E

4,1 ) }

2

≈c { (Q⊗(s

1,1s

2,1s

3,1))A

4D

4,1 }

2

≈s { (QP⊗(s

1,1s

2,1))((P-1⊗s

3,1)A

4+E

3,1 )D

4,1 }

2

≈c { (QP⊗(s

1,1s

2,1))A

3D

3,1D

4,1 }

2

≈c …

c { C-1A

1∏D

z(x),x_z(x)}

2

D2,1

A1

D3,1

A2 A3 A4 A5

D2,0 D3,0

D4,1

D4,0

D1,1

D1,0

Current status:- CK ✅- randomness of

the outputs ❌

Page 118: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

118

Uniform Small Unspecifieds

i,xi are secret, Ai , Di,xi

are public

cont.

NC1-CHCPRF from GGH15 *

Example: C(x)=0 iff x1=x2=1 query x=11

Eval(11) = { I⊗(s1,1

s2,1

s3,1

s4,1

)A5 }

2

≈s { (Q⊗(s

1,1s

2,1s

3,1))((Q-1⊗s

4,1)A

5+E

4,1 ) }

2

≈c { (Q⊗(s

1,1s

2,1s

3,1))A

4D

4,1 }

2

≈s { (QP⊗(s

1,1s

2,1))((P-1⊗s

3,1)A

4+E

3,1 )D

4,1 }

2

≈c { (QP⊗(s

1,1s

2,1))A

3D

3,1D

4,1 }

2

≈c …

c { JC-1A

1∏D

z(x),x_z(x)}

2

D2,1 D3,1

A2 A3 A4 A5

D2,0 D3,0

D4,1

D4,0

D1,1

D1,0

Current status:- CK ✅- randomness of

the outputs ❌Solution:Multiply a random vector J on the left

JA1+E

Page 119: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

119

JA1+E

D1,1 D3,1 D4,1

D1,0 D3,0 D4,0D2,0

D2,1Eval = ...≈

c { (JC-1A

1+E) ∏D

z(x),x_z(x) }

2

Real

{ J(I⊗(∏sz(x),x_z(x)

))AL+1

}2

D2,1JA1+E

D3,1

D2,0 D3,0

D1,1

D1,0

D4,1

D4,0

Page 120: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

120

Simulator

AJ

D1,1 D3,1 D4,1

D1,0 D3,0 D4,0D2,0

D2,1Eval = ...≈

c { (JC-1A

1+E) ∏D

z(x),x_z(x) }

2

≈c { U ∏D

z(x),x_z(x) }

2

≈c { Uniform

}

2

Real

{ J(I⊗(∏sz(x),x_z(x)

))AL+1

}2

D2,1JA1+E

D3,1

D2,0 D3,0

D1,1

D1,0

D4,1

D4,0

Page 121: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

121

Summary: NC1 CHCPRF from GGH15- Constraint hiding: Perm-LWE + GPV- Outputs: need additional protection J, justified by JLWE

Simulator

AJ

D1,1 D3,1 D4,1

D1,0 D3,0 D4,0D2,0

D2,1Eval = ...≈

c { (JC-1A

1+E) ∏D

z(x),x_z(x) }

2

≈c { U ∏D

z(x),x_z(x) }

2

≈c { Uniform

}

2

Real

{ J(I⊗(∏sz(x),x_z(x)

))AL+1

}2

D2,1JA1+E

D3,1

D2,0 D3,0

D1,1

D1,0

D4,1

D4,0

Page 122: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

122

Concurrent work:Boneh, Kim, Montgomery (Eurocrypt 17)

1-key puncturable CHCPRFs from LWE.

Both root from previous lattices-based PRFs, but different method to constrain and hide.

Page 123: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

123

Genealogy of Lattices-based PRFs

[BPR12] -- the settler [BLMR13] -- key homomorphic*[BP14] -- better key homomorphic, embed a tree*[BFPPS15] -- [BP14] is puncturable*[BV15] -- embed a circuit, constrained for P*[BKM17] -- puncture privately, built from [BV15] [CC17] -- constrained privately for NC1, influenced by GGH15 mmaps

* uses gadget matrix G, adapted from the lattices-based FHE, ABE, PE

Q: Is there a transformation between Dual-Regev-based homomorphic schemes and GGH15-based ones?

p.s. Hoeteck asked me if there’s an interpretation of [GVW13] ABE from [GGH15]. I thought for a little bit, not obvious.

Page 124: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

124

More questions of GGH15

Q: What safe modes do we have confidence for GGH15?A: With limited number/restricted form of zeros, very likely.

Q: What is weird about GGH15 (as a useful mmaps)?A: Must prove from 1 direction (namely make sure that the trapdoor sampling is safe, from sink to source), not a desirable property of mmaps.

Q: Anything to say when the A matrices are hidden?A: There must be something to say … a question worth to understand

Page 125: Aarhus University special editioncs-people.bu.edu/chenyl/docs/Chcprf_Aarhus.pdfAarhus University special edition. 3 Once upon a time, a Swede, a Dane, and a Norwegian found themselves

The end