GGH15 beyond permutation branching programs proofs, attacks, and - - PowerPoint PPT Presentation

ggh15 beyond permutation branching programs proofs
SMART_READER_LITE
LIVE PREVIEW

GGH15 beyond permutation branching programs proofs, attacks, and - - PowerPoint PPT Presentation

GGH15 beyond permutation branching programs proofs, attacks, and candidates Yilei Chen, Vinod Vaikuntanathan, Hoeteck Wee 1 > August 21, 2018, Palo Alto, heavy snow. 2 > August 21, 2018, Palo Alto, heavy snow. > Alice finds a


slide-1
SLIDE 1

GGH15 beyond permutation branching programs proofs, attacks, and candidates

Yilei Chen, Vinod Vaikuntanathan, Hoeteck Wee

1

slide-2
SLIDE 2

2

> August 21, 2018, Palo Alto, heavy snow.

slide-3
SLIDE 3

3

> August 21, 2018, Palo Alto, heavy snow. > Alice finds a public-key encryption scheme based on Schrodinger’s equation.

slide-4
SLIDE 4

4

> August 21, 2018, Palo Alto, heavy snow. > Alice finds a public-key encryption scheme based on Schrodinger’s equation. > Alice missed the NIST PQC round one. But she find it cool to post it on the blockchain, and offers 100 Bitcoins to whoever breaks it.

slide-5
SLIDE 5

5

> Not only does Alice post on the blockchain, she does it cool by encrypting the 100 Bitcoins using Witness encryption.

slide-6
SLIDE 6

6

> Not only does Alice post on the blockchain, she does it cool by encrypting the 100 Bitcoins using Witness encryption. > WitnessEnc( x, m ), x = instance, m = message Functionality: if x = SAT -----> can use the witness to decrypt the msg. Security: if x = UNSAT -------> msg is hidden. WitnessEnc(x = “there is an attack to Alice’s PKE scheme”, msg = 100 Bitcoins)

slide-7
SLIDE 7

> Current status of witness encryption: there are several candidates (more-or-less based on multilinear maps); none of them are based on established cryptographic assumptions.

> [Garg et al. 13] candidate witness encryption based on GGH13. > Broken by [Hu, Jia 16] > [Gentry, Lewko, Waters 14 ] from multilinear subgroup decision assumption (which is also open) > Null-iO candidates (there are many) => Witness encryption candidates

Do we have secure Witness encryption?

7

slide-8
SLIDE 8

GGH15 beyond permutation branching programs proofs, attacks, and candidates

Wait, what’s the relation

  • f witness encryption

and the title??

I am te

8

slide-9
SLIDE 9

9

GGH15 beyond permutation branching programs proofs, attacks, and candidates

A candidate multilinear map

slide-10
SLIDE 10

GGH15 beyond permutation branching programs proofs, attacks, and candidates

A candidate multilinear map

applications General purpose Indistinguishability obfuscation Lockable obfuscation

(Compute-then-Compare obf.)

Private constrained PRFs Multi party key agreement

10

slide-11
SLIDE 11

GGH15 beyond permutation branching programs proofs, attacks, and candidates

General purpose Indistinguishability obfuscation Lockable obfuscation

(Compute-then-Compare obf.)

Security ????

Private constrained PRFs Multi party key agreement

(As secure as LWE)

What we knew:

11

slide-12
SLIDE 12

GGH15 beyond permutation branching programs proofs, attacks, and candidates

General purpose Indistinguishability obfuscation Lockable obfuscation

(Compute-then-Compare obf.)

Private constrained PRFs Multi party key agreement

(As secure as LWE)

Motivation of this work: systematically study GGH15, discover more attacks and safe applications

12

slide-13
SLIDE 13

GGH15 beyond permutation branching programs proofs, attacks, and candidates

Witness encryption ??? General purpose Indistinguishability obfuscation Lockable obfuscation

(Compute-then-Compare obf.)

Private constrained PRFs Multi party key agreement

(As secure as LWE)

Motivation of this work: systematically study GGH15, discover more attacks and safe applications (maybe witness encryption?)

13

slide-14
SLIDE 14

Summary of the results for GGH15 + non-perm branching programs:

  • Proofs (focus of the talk):

> Introduce new lattice toolkits; > New analysis techniques for GGH15. > Leads to PCPRFs and lockable obfuscation for general BPs.

  • Attacks: New attacks on the iO candidates.
  • Candidates: Witness encryption and iO.

14

slide-15
SLIDE 15

15

Can be thought of as homomorphic encryption + public zero-test

Multilinear maps in a nutshell

15

> Multilinear maps: motivated in [ Boneh, Silverberg 2003 ]

g, gS1, gS2, gS3, ... → g∏S

slide-16
SLIDE 16

16

Can be thought of as homomorphic encryption + public zero-test > Bilinear maps from elliptic curves [ Miller 1986 ] > n-linear maps candidates: (all based on non-standard use of lattices) >>>> Garg, Gentry, Halevi 2013 [ GGH 13 ] >>>> Coron, Lepoint, Tibouchi 2013 [ CLT 13 ] >>>> Gentry, Gorbunov, Halevi 2015 [ GGH 15 ] ( LWE-like ) *New: Trilinear maps from abelian varieties [ Huang 2018 ], requires further investigation.

Multilinear maps in a nutshell

16

> Multilinear maps: motivated in [ Boneh, Silverberg 2003 ]

g, gS1, gS2, gS3, ... → g∏S

slide-17
SLIDE 17

17

17

> Multilinear maps: motivated in [ Boneh, Silverberg 2003 ] > (Ring)LWE analogy:

A, S1A+E1,..., SkA+Ek → ∏SA+E mod q

g, gS1, gS2, gS3, ... → g∏S

GGH15 in a nutshell

slide-18
SLIDE 18

18

GGH15: “the blockchain in multilinear maps”

18

> (Ring)LWE analogy:

A, S1A+E1,..., SkA+Ek → ∏SA+E mod q

(also appear as “cascaded LWE” in [ Koppula-Waters 16], [ Alamati-Peikert 16])

slide-19
SLIDE 19

19

GGH15 in a nutshell

19

> GGH15: (also appear as “cascaded LWE” in [ Koppula-Waters 16], [ Alamati-Peikert 16])

A0 D1 = S1A1+E1, A1 D2 = S2A2+E2 mod q

> (Ring)LWE analogy:

A, S1A+E1,..., SkA+Ek → ∏SA+E mod q

slide-20
SLIDE 20

20

GGH15 in a nutshell

20

> GGH15: (also appear as “cascaded LWE” in [ Koppula-Waters 16], [ Alamati-Peikert 16])

A0 D1 = S1A1+E1, A1 D2 = S2A2+E2 mod q

> (Ring)LWE analogy:

A, S1A+E1,..., SkA+Ek → ∏SA+E mod q Di is sampled using the trapdoor of Ai-1

Lattice trapdoor 101

[Ajtai 99, Alwen, Peikert 09, Micciancio, Peikert 12]

D =

Y

x

A

Y Given find D s.t.

A

with trapdoor

slide-21
SLIDE 21

21

GGH15 in a nutshell

21

> GGH15: (also appear as “cascaded LWE” in [ Koppula-Waters 16], [ Alamati-Peikert 16])

A0 D1 = S1A1+E1, A1 D2 = S2A2+E2 mod q

> (Ring)LWE analogy:

A, S1A+E1,..., SkA+Ek → ∏SA+E mod q Publish A0 , D1 , D2 as the encodings of S1 , S2 Di is sampled using the trapdoor of Ai-1

slide-22
SLIDE 22

22

GGH15 in a nutshell

22

> GGH15: (also appear as “cascaded LWE” in [ Koppula-Waters 16], [ Alamati-Peikert 16])

A0 D1 = S1A1+E1, A1 D2 = S2A2+E2 mod q Eval = A0 D1 D2 = (S1A1+E1)D2 = S1S2A2+ E1D2+S1E2 mod q

small functionality > (Ring)LWE analogy:

A, S1A+E1,..., SkA+Ek → ∏SA+E mod q Publish A0 , D1 , D2 as the encodings of S1 , S2 Di is sampled using the trapdoor of Ai-1

slide-23
SLIDE 23

23

23

When witness encryption meets multilinear maps ...

[ Gentry, Lewko, Waters 14 ] witness encryption from mmaps subgroup decision assumption, which is instance independent.

slide-24
SLIDE 24

24

24

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

S’

S’

Mh,1 Ⓧ S’h,1 =

CNF slots msg

  • Low-rank matrices (bad news)
  • Read-once BP (good news)

A strawman implementation of GLW14 in GGH15 [ Gentry, Lewko, Waters 14 ] a special witness encryption from mmaps.

slide-25
SLIDE 25

25

So far: A witness encryption with special structure that uses GGH15 + low-rank matrix branching program.

slide-26
SLIDE 26

Q: Can we show anything secure for low-rank BP + GGH15?

26

So far: A witness encryption with special structure that uses GGH15 + low-rank matrix branching program.

slide-27
SLIDE 27

Q: Can we show anything secure for low-rank BP + GGH15? A: Yes! … In some limited cases

27

So far: A witness encryption with special structure that uses GGH15 + low-rank matrix branching program.

slide-28
SLIDE 28

28

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Anything

S11

As secure as LWE: When there is one “slot” that is always random in all the matrices.

Anything

Sh1

The “always random” slot

slide-29
SLIDE 29

29

Where can the special type of BP be useful?

A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Anything

S11

Anything

The “always random” slot

Sh1

slide-30
SLIDE 30

30

Where can the special type of BP be useful?

We don’t know how to build a witness encryption or iO from this type of BP :(

A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Anything

S11

Anything

The “always random” slot

Sh1

slide-31
SLIDE 31

31

Where can the special type of BP be useful?

We don’t know how to build a witness encryption or iO from this type of BP :( We can simplify the private constrained PRF, Lockable obfuscation :) E.g. Instantiate the private puncturable PRF from [Boneh, Lewi, Wu 17] described under the multilinear subgroup decision assumption:

slide-32
SLIDE 32

32

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

s

S11

Where can the special type of BP be useful?

We don’t know how to build a witness encryption or iO from this type of BP :( We can simplify the private constrained PRF, Lockable obfuscation :) E.g. Instantiate the private puncturable PRF from [Boneh, Lewi, Wu 17] described under the multilinear subgroup decision assumption:

s

Sh1

The “always random” slot The “puncturable” slot

slide-33
SLIDE 33

33

How to prove security for GGH15 + low-rank BPs?

What are you trying to prove?

slide-34
SLIDE 34

34

How to prove security for GGH15 + low-rank BPs?

Semantic security:

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q Uh,0 Uh,1 U1,0 U1,1

≈ computational

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

“A” matrices: using trapdoors; not using trapdoors

slide-35
SLIDE 35

35

Replay: the proof for GGH15 + permutation BP

[Canetti, Chen 17], [ Goyal, Koppula, Waters 17], [Wichs, Zirdelis 17 ]

slide-36
SLIDE 36

36

Replay: the proof for GGH15 + permutation BP

[Canetti, Chen 17], [ Goyal, Koppula, Waters 17], [Wichs, Zirdelis 17 ]

VAR

slide-37
SLIDE 37

37

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Goal: prove semantic security

For permutation BP [Canetti, Chen 17], [ Goyal, Koppula, Waters 17], [Wichs, Zirdelis 17 ]:

Sh1 Sh1 Sh1

“A” matrices: using trapdoors; not using trapdoors

S11 S11 S11

slide-38
SLIDE 38

38

S + E LWE 101 [Regev 05]

≈ computational

A A , U A , x

slide-39
SLIDE 39

39

S + E LWE 101 [Regev 05]

≈ computational

A A , U A , x Permutation - LWE: S + E

≈ computational

,

U

, x S S A(1) A(2) A(3) A(1) A(2) A(3) A(1) A(2) A(3)

slide-40
SLIDE 40

40

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Goal: prove semantic security

For permutation BP [Canetti, Chen 17], [ Goyal, Koppula, Waters 17], [Wichs, Zirdelis 17 ]:

Sh1 Sh1 Sh1

“A” matrices: using trapdoors; not using trapdoors

S11 S11 S11

[ Step 1 ] LWE: Ah , Sh,0Ah+Eh,0 , Sh,1Ah+Eh,1 ≈ Ah , Uh,0 , Uh,1

slide-41
SLIDE 41

41

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

For permutation BP [Canetti, Chen 17], [ Goyal, Koppula, Waters 17], [Wichs, Zirdelis 17 ]:

“A” matrices: using trapdoors; not using trapdoors

[ Step 1 ] LWE: Ah , Sh,0Ah+Eh,0 , Sh,1Ah+Eh,1 ≈ Ah , Uh,0 , Uh,1

Uh,0 Uh,1

Goal: prove semantic security

S11 S11 S11

slide-42
SLIDE 42

42

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

For permutation BP [Canetti, Chen 17], [ Goyal, Koppula, Waters 17], [Wichs, Zirdelis 17 ]:

“A” matrices: using trapdoors; not using trapdoors

Uh,0 Uh,1

Goal: prove semantic security

S11 S11 S11

[ Step 2 ] GPV: close the trapdoor of Ah-1

slide-43
SLIDE 43

A

[ Gentry, Peikert, Vaikuntanathan 08 ]

D

=

43

U

x

U is uniform A trapdoor is used

slide-44
SLIDE 44

A

[ Gentry, Peikert, Vaikuntanathan 08 ]

D

=

44

U

x

≈ statistical

D

=

U

x A

close the trapdoor of A U is uniform A trapdoor is used

slide-45
SLIDE 45

45

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

For permutation BP [Canetti, Chen 17], [ Goyal, Koppula, Waters 17], [Wichs, Zirdelis 17 ]:

“A” matrices: using trapdoors; not using trapdoors

Uh,0 Uh,1

Goal: prove semantic security

S11 S11 S11

[ Step 2 ] GPV: close the trapdoor of Ah-1

slide-46
SLIDE 46

46

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

For permutation BP [Canetti, Chen 17], [ Goyal, Koppula, Waters 17], [Wichs, Zirdelis 17 ]:

“A” matrices: using trapdoors; not using trapdoors

[ Step 2 ] GPV: close the trapdoor of Ah-1

Uh,0 Uh,1

Goal: prove semantic security

S11 S11 S11

slide-47
SLIDE 47

47

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

S11

For permutation BP [Canetti, Chen 17], [ Goyal, Koppula, Waters 17], [Wichs, Zirdelis 17 ]:

S11 S11

“A” matrices: using trapdoors; not using trapdoors

Uh,0 Uh,1

[ Step … ] LWE .... GPV: close the trapdoor of A1

Goal: prove semantic security

slide-48
SLIDE 48

48

A0 D1,0 = S1,0A1+E1,0, …, Ah-1 Dh,0 = Sh,0Ah+Eh,0 mod q A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

For permutation BP [Canetti, Chen 17], [ Goyal, Koppula, Waters 17], [Wichs, Zirdelis 17 ]:

“A” matrices: using trapdoors; not using trapdoors

Uh,0 Uh,1

[ Final Steps ] Another LWE + GPV

U1,0 U1,1

Goal: prove semantic security

slide-49
SLIDE 49

49

Replay: the proof for GGH15 + permutation BP

[Canetti, Chen 17], [ Goyal, Koppula, Waters 17], [Wichs, Zirdelis 17 ]

VAR END

slide-50
SLIDE 50

50

What is the difference for low-rank matrices?

slide-51
SLIDE 51

Ah(1)

S

51

For possibly low-rank secret matrices: helpful to separate the matrices into (1) and (2)

Ah(2) Yh-1(1) Yh-1(2)

=

Ah-1(1) Ah-1(2)

Dh,1

= x +E A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

slide-52
SLIDE 52

Ah(1)

S

52

For possibly low-rank secret matrices: helpful to separate the matrices into (1) and (2)

Ah(2) Yh-1(1) Yh-1(2)

=

Ah-1(1) Ah-1(2)

Dh,1

= x +E A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Observation: Yh-1(1) is not random The problem: How to close the trapdoor of Ah-1 ?

slide-53
SLIDE 53

A(1)

Lattice trapdoor Lemma 1:

D

=

53

Z U

x A(2)

Z is arbitrary U is uniform A trapdoor is used

slide-54
SLIDE 54

A(1)

Lattice trapdoor Lemma 1:

D

=

54

Z U

x A(2)

≈ statistical

A(1)

D

=

Z U

x A(2)

close the trapdoor of A(2) Z is arbitrary U is uniform A trapdoor is used

slide-55
SLIDE 55

Ah(1)

S

55

For possibly low-rank secret matrices: helpful to separate the matrices into (1) and (2)

Ah(2) Yh-1(1) Yh-1(2)

=

Ah-1(1) Ah-1(2)

Dh,1

= x +E A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Use Lemma 1 + use S as public matrix: can close the lower trapdoor all the way back

slide-56
SLIDE 56

S

56

For possibly low-rank secret matrices: helpful to separate the matrices into (1) and (2)

Yh-1(1) Yh-1(2)

=

Ah-1(2)

Dh,1

= x +E A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Use Lemma 1 + use S as public matrix: can close the lower trapdoor all the way back

Ah(1) Ah(2) Ah-1(1)

slide-57
SLIDE 57

S

57

For possibly low-rank secret matrices: helpful to separate the matrices into (1) and (2)

Y1(1) Y1(2)

=

A0(2)

D1,1

= x +E A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q …

A1(2)

Use Lemma 1 + use S as public matrix: can close the lower trapdoor all the way back

A0(1) A1(1)

slide-58
SLIDE 58

S

58

For possibly low-rank secret matrices: helpful to separate the matrices into (1) and (2)

Y1(1) Y1(2)

=

A0(2)

D1,1

= x +E A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Use Lemma 1 + use S as public matrix: can close the lower trapdoor all the way back Problem: Now how to deal with the upper matrices?

A1(2) A1(1) A0(1)

slide-59
SLIDE 59

Y1(1) A1(1) A0(1)

S

59

For possibly low-rank secret matrices: helpful to separate the matrices into (1) and (2)

Y1(2)

=

A0(2)

D1,1

= x +E A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Use Lemma 1 + use S as public matrix: can close the lower trapdoor all the way back Problem: Now how to deal with the upper matrices? Solution: In the real construction, give out A0(1) + A0(2).

A1(2)

slide-60
SLIDE 60

A Z

D

=

60

Lattice trapdoor Lemma 2:

+E

For any Z, for a uniformly random A, D is the preimage of Z+E.

slide-61
SLIDE 61

A Z

D

=

61

Lattice trapdoor Lemma 2:

+E

For any Z, for a uniformly random A, D is the preimage of Z+E. If A & Z+ E is hidden,

You cannot see A & Z+E

slide-62
SLIDE 62

A Z

D

=

62

Lattice trapdoor Lemma 2:

+E

For any Z, for a uniformly random A, D is the preimage of Z+E. If A & Z+ E is hidden, then D is indistinguishable from random Gaussian.

A Z

D

= +E

≈ computational

You cannot see A & Z+E

slide-63
SLIDE 63

Y1(1) A1(1) A0(1)

S

63

For possibly low-rank secret matrices: helpful to separate the matrices into (1) and (2)

Y1(2)

=

A0(2)

D1,1

= x +E A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Use Lemma 1 + use S as public matrix: can close the lower trapdoor all the way back Problem: Now how to deal with the upper matrices? Solution: In the real construction, give out A0(1) + A0(2), + Lemma 2

A1(2)

slide-64
SLIDE 64

Y1(1) A1(1) A0(1)

S

64

For possibly low-rank secret matrices: helpful to separate the matrices into (1) and (2)

Y1(2)

=

A0(2)

D1,1

= x +E A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Use Lemma 1 + use S as public matrix: can close the lower trapdoor all the way back Problem: Now how to deal with the upper matrices? Solution: In the real construction, give out A0(1) + A0(2), + Lemma 2

A1(2)

slide-65
SLIDE 65

65

Replay: the proof for GGH15 + low-rank BP

V A R

slide-66
SLIDE 66

S

66

Y1(1) Y1(2)

=

A0(2)

D1,1

= x +E A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q …

A1(2) A0(1) A1(1)

First use the lower level random matrices to come left (need new lemma 1)

Replay: the proof for GGH15 + low-rank BP

slide-67
SLIDE 67

First use the lower level random matrices to come left (need new lemma 1) Then use the upper level “hidden A at the left” to go right (need new lemma 2)

67

A0 D1,1 = S1,1A1+E1,1, …, Ah-1 Dh,1 = Sh,1Ah+Eh,1 mod q

Y1(1) A1(1) A0(1)

S

Y1(2)

=

A0(2)

= x +E

A1(2)

Replay: the proof for GGH15 + low-rank BP

D1,1

slide-68
SLIDE 68

68

End of the proof for GGH15 + low-rank BP

N

  • m
  • r

e V A R

slide-69
SLIDE 69

Q: What about the other cases without a proof from LWE? A: Hmm … some of them can be broken.

69

slide-70
SLIDE 70

70

New attack on iO candidates based on GGH15. With a very simple attack algorithm

slide-71
SLIDE 71

71

W1,1 … W1,k … … … Wj,1 … Wj, k

=

Results on many inputs that eval to small New attack on iO candidates based on GGH15. With a very simple attack algorithm: First compute a matrix, then compute the rank of the matrix.

slide-72
SLIDE 72

New attack on iO candidates based on GGH15.

72

With a very simple attack algorithm: First compute a matrix, then compute the rank of the matrix.

S1,1 W1,1 … W1,k … … … Wj,1 … Wj, k D2,1

=

E1,1 E2,1

x

S1,2 E1,2 S1,j E1,j

...

D2,k E2,k

...

S’ S’

Heuristically random

slide-73
SLIDE 73

New attack on iO candidates based on GGH15.

73

With a very simple attack algorithm: First compute a matrix, then compute the rank of the matrix.

S1,1 W1,1 … W1,k … … … Wj,1 … Wj, k D2,1

=

E1,1 E2,1

x

S1,2 E1,2 S1,j E1,j

...

D2,k E2,k

...

The analysis is quite involved, especially for the extension to non-input-partitioning BPs.

[code] https://github.com/wildstrawberry/cryptanalysesBPobfuscators/blob/master/ggh15analysis.sage

slide-74
SLIDE 74

Almost done ...

  • Proofs: Introducing new lattice toolkits;

leads to new PCPRFs and lockable obfuscation for non-perm BPs.

  • Attacks: New attacks on the iO candidates.

74

Wait, what about witness encryption??

slide-75
SLIDE 75

Almost done ...

  • Proofs: Introducing new lattice toolkits;

leads to new PCPRFs and lockable obfuscation for non-perm BPs.

  • Attacks: New attacks on the iO candidates.
  • Candidates:

> Witness encryption: read-once BP, the simplest instantiation of GLW14

  • n GGH15 (removing all the unnecessary parts), “a stone throw” from the

provable case.

75

slide-76
SLIDE 76

Almost done ...

  • Proofs: Introducing new lattice toolkits;

leads to new PCPRFs and lockable obfuscation for non-perm BPs.

  • Attacks: New attacks on the iO candidates.
  • Candidates:

> Witness encryption: read-once BP, the simplest instantiation of GLW14

  • n GGH15 (removing all the unnecessary parts), “a stone throw” from the

provable case. > iO: read super-constant time BP (merely a demonstration of what is not covered by the attack).

76

slide-77
SLIDE 77

Other related works & Implications

The lattice lemmas appear in the concurrent work of [ Goyal, Koppula, Waters 18 ] that builds traitor tracing from LWE. [ Bartusek, Guan, Ma, Zhandry ] limitation of the attacks on GGH15-based iO candidates. One of the future direction: Build applications from multilinear maps with “slots” => instantiate using GGH15 with diagonal matrices, see if there is a chance of proving from LWE

77

slide-78
SLIDE 78

Thanks for your time!

GGH15 Beyond Permutation Branching Programs: Proofs, Attacks, and Candidates https://eprint.iacr.org/2018/360

78

Only 25 mins?