e t a d i d n a c f o s r s o e t s a y c l s - - PowerPoint PPT Presentation

e t a d i d n a c f o s r s o e t s a y c l s a u n f a b
SMART_READER_LITE
LIVE PREVIEW

e t a d i d n a c f o s r s o e t s a y c l s - - PowerPoint PPT Presentation

e t a d i d n a c f o s r s o e t s a y c l s a u n f a b t o p m y r a C r g o r p g n i h c n a r b Yilei Chen Craig Gentry Shai Halevi @Eurocrypt 2017 1976, Diffie, Hellman: We stand


slide-1
SLIDE 1

C r y p t a n a l y s e s

  • f

c a n d i d a t e b r a n c h i n g p r

  • g

r a m

  • b

f u s c a t

  • r

s

Yilei Chen Craig Gentry Shai Halevi @Eurocrypt 2017

slide-2
SLIDE 2

2

1976, Diffie, Hellman: “We stand today on the brink of a revolution in cryptography”

slide-3
SLIDE 3

3

1976, Diffie, Hellman: “We stand today on the brink of a revolution in cryptography” 2013, Garg, Gentry, Halevi, Raykova, Sahai, Waters: We didn’t say “we stand today on the brink of another revolution in cryptography”, but it is happening.

slide-4
SLIDE 4

4

iO

slide-5
SLIDE 5

5

iO => fancy applications, new ways of thinking in cryptography

OWF, TDP, full-domain hash, NIKE, traitor tracing, FE, adaptive FE, multi-input FE, MPC, adaptive MPC, communication-efficient MPC, better MPC, deniable encryption, garbled Turing machine, Succinct RE, garbled ram, succinct garbled ram, polynomially-many hardcore bits for any OWF, ZAPs and NIWI, constant-round zero-knowledge proofs, traitor tracing, PPAD hardness, watermarking, Fully-homomorphic encryption, self-bilinear maps, multilinear maps, correlation intractability, Fiat-Shamir, UCE, counterexamples for UCE, Adaptive succinct garbled ram, Time-lock puzzle, iO combiner

slide-6
SLIDE 6

6

??????? => iO candidates

slide-7
SLIDE 7

7

Candidate multilinear maps => iO candidates

slide-8
SLIDE 8

8

How much do we know about multilinear maps, and the iO candidates based on them?

slide-9
SLIDE 9

9

Multilinear maps in cryptography 2003 Boneh, Silverberg: motives 2013 Garg, Gentry, Halevi: first candidate 2013 Coron, Lepoint, Tibouchi: second candidate 2015 Gentry, Gorbunov, Halevi: third candidate

slide-10
SLIDE 10

10

Status of candidate multilinear maps GGH13, CLT13, GGH15: Even the ``one-wayness’’ of these schemes is not understood.

slide-11
SLIDE 11

11

Status of candidate multilinear maps GGH13, CLT13, GGH15: Even the ``one-wayness’’ of these schemes is not understood. 2 Benchmarks: key exchange and indistinguishability Obfuscation Key Exchange

(need public sample)

iO [GGHRSW ‘13]

(do not need public sample)

GGH13 CLT13 GGH15

slide-12
SLIDE 12

12

Status of candidate multilinear maps GGH13, CLT13, GGH15: Even the ``one-wayness’’ of these schemes is not understood. 2 Benchmarks: key exchange and indistinguishability Obfuscation Key Exchange

(need public sample)

iO [GGHRSW ‘13]

(do not need public sample)

GGH13

Broken [Hu, Jia ‘16] Broken for simpler variants [ Miles et al ‘16 ]

CLT13

Broken [Cheon et al ‘15] Broken for some program [Coron et al ‘15]

GGH15

Broken [Coron et al ‘16]

?

slide-13
SLIDE 13

13

In this work we show new attacks: Key Exchange

(need public sample)

iO [GGHRSW ‘13]

(do not need public sample)

GGH13

Broken [Hu, Jia ‘16]

New attack [ CGH ‘17 ] CLT13

Broken [Cheon et al ‘15] Broken for some program [Coron et al ‘15]

GGH15

Broken [Coron et al ‘16]

New attack [ CGH ‘17 ]

slide-14
SLIDE 14

14

Key Exchange

(need public sample)

iO [GGHRSW ‘13]

(do not need public sample)

GGH13

Broken [Hu, Jia ‘16]

New attack [ CGH ‘17 ] CLT13

Broken [Cheon et al ‘15] Broken for some program [Coron et al ‘15]

GGH15

Broken [Coron et al ‘16]

New attack [ CGH ‘17 ] Feature of the new attacks: zeroizing attack [ Cheon et al ‘15 ] + exploiting the weakness inside the obfuscation In this work we show new attacks:

slide-15
SLIDE 15

15

Plan for the rest of the talk

Review GGHRSW13 obfuscation Analyze GGHRSW + GGH15 Analyze GGHRSW + GGH13 (very briefly)

slide-16
SLIDE 16

16

Candidate iO from [ Garg-Gentry-Halevi-Raykova-Sahai-Waters ’13 ]

slide-17
SLIDE 17

17

Candidate iO from [ Garg-Gentry-Halevi-Raykova-Sahai-Waters ’13 ] (0) Representation of plaintext program. (1) Safeguard 1 (2) Safeguard 2 (3) Safeguard 3 (4) Wrap (0-3) by multilinear maps (GGH13, CLT13, or GGH15) Safeguards aim at randomizing the plaintext program, preventing illegal

  • perations; mmaps is the source of “computational hardness”
slide-18
SLIDE 18

18

Candidate iO from [ Garg-Gentry-Halevi-Raykova-Sahai-Waters ’13 ] (0) Representation of plaintext program: Oblivious branching program (1) Safeguard 1 (2) Safeguard 2 (3) Safeguard 3 (4) Wrap (0-3) by multilinear maps (GGH13, CLT13, or GGH15)

slide-19
SLIDE 19

19

Candidate iO from [ Garg-Gentry-Halevi-Raykova-Sahai-Waters ’13 ] (0) Representation of plaintext program: Oblivious branching program (1) Safeguard 1 (2) Safeguard 2 (3) Safeguard 3 (4) Wrap (0-3) by multilinear maps (GGH13, CLT13, or GGH15)

1 B1,1 B2,1 B3,1 B4,1 B1,0 B2,0 B3,0 B4,0 i 1 2 1 2 1 B’1,1 B’2,1 B’3,1 B'4,1 B’1,0 B’2,0 B’3,0 B’4,0 i 1 2 1 2

“Dummy branch” All B'u,v = I Evaluate: ∏B = I? “function branch”

slide-20
SLIDE 20

20

Candidate iO from [ Garg-Gentry-Halevi-Raykova-Sahai-Waters ’13 ] (0) Representation of plaintext program: Oblivious branching program (1) Safeguard 1: Kilian randomization [Kilian 88] (2) Safeguard 2 (3) Safeguard 3 (4) Wrap (0-3) by multilinear maps (GGH13, CLT13, or GGH15)

1 B1,1K1 K1

  • 1B2,1K2

K2

  • 1B3,1K3

K3

  • 1B4,1

B1,0K1 K1

  • 1B2,0K2

K2

  • 1B3,0K3

K3

  • 1B4,0

i 1 2 1 2 1 B’1,1K’1 K’1

  • 1B’2,1K’2

K’2

  • 1B’3,1K’3

K’3

  • 1B’4,1

B’1,0K’1 K’1

  • 1B’2,0K’2

K’2

  • 1B’3,0K’3

K’3

  • 1B’4,0

i 1 2 1 2 Random matrix K, K’

slide-21
SLIDE 21

21

Candidate iO from [ Garg-Gentry-Halevi-Raykova-Sahai-Waters ’13 ] (0) Representation of plaintext program: Oblivious branching program (1) Safeguard 1: Kilian randomization (2) Safeguard 2: Bundling scalars (against mix-input attack) (3) Safeguard 3 (4) Wrap (0-3) by multilinear maps (GGH13, CLT13, or GGH15)

1 a1,1B1,1K1 a2,1K1

  • 1B2,1K2 a3,1K2
  • 1B3,1K3 a4,1K3
  • 1B4,1

a1,0B1,0K1 a2,0K1

  • 1B2,0K2 a3,0K2
  • 1B3,0K3 a4,0K3
  • 1B4,0

i 1 2 1 2 1 a’1,1B’1,1K’1 a’2,1K’1

  • 1B’2,1K’2 a’3,1K’2
  • 1B’3,1K’3 a’4,1K’3
  • 1B’4,1

a’1,0B’1,0K’1 a’2,0K’1

  • 1B’2,0K’2 a’3,0K’2
  • 1B’3,0K’3 a’4,0K’3
  • 1B’4,0

i 1 2 1 2 a1,1a3,1 = a’1,1a’3,1 a1,0a3,0 = a’1,0a’3,0 a2,1a4,1 = a’2,1a’4,1 a2,0a4,0 = a’2,0a’4,0

slide-22
SLIDE 22

22

Spoiler: the scalar is the “Achilles’ heel” exploited in our attack

slide-23
SLIDE 23

23

slide-24
SLIDE 24

24

Candidate iO from [ Garg-Gentry-Halevi-Raykova-Sahai-Waters ’13 ] (0) Representation of plaintext program: Oblivious branching program (1) Safeguard 1: Kilian randomization (2) Safeguard 2: Bundling scalars (against mix-input attack) (3) Safeguard 3 (4) Wrap (0-3) by multilinear maps (GGH13, CLT13, or GGH15)

1 a1,1B1,1K1 a2,1K1

  • 1B2,1K2 a3,1K2
  • 1B3,1K3 a4,1K3
  • 1B4,1

a1,0B1,0K1 a2,0K1

  • 1B2,0K2 a3,0K2
  • 1B3,0K3 a4,0K3
  • 1B4,0

i 1 2 1 2 1 a’1,1B’1,1K’1 a’2,1K’1

  • 1B’2,1K’2 a’3,1K’2
  • 1B’3,1K’3 a’4,1K’3
  • 1B’4,1

a’1,0B’1,0K’1 a’2,0K’1

  • 1B’2,0K’2 a’3,0K’2
  • 1B’3,0K’3 a’4,0K’3
  • 1B’4,0

i 1 2 1 2 a1,1a3,1 = a’1,1a’3,1 a1,0a3,0 = a’1,0a’3,0 a2,1a4,1 = a’2,1a’4,1 a2,0a4,0 = a’2,0a’4,0

slide-25
SLIDE 25

25

Candidate iO from [ Garg-Gentry-Halevi-Raykova-Sahai-Waters ’13 ] (0) Representation of plaintext program: Oblivious branching program (1) Safeguard 1: Kilian randomization (2) Safeguard 2: Bundling scalars (against mix-input attack) (3) Safeguard 3: random diagonal entries and bookends (4) Wrap (0-3) by multilinear maps (GGH13, CLT13, or GGH15)

1 a1,1J B1,1K1 a2,1K1

  • 1B2,1K2

a3,1K2

  • 1B3,1K3

a4,1K3

  • 1B4,1L

a1,0J B1,0K1 a2,0K1

  • 1B2,0K2

a3,0K2

  • 1B3,0K3

a4,0K3

  • 1B4,0L

i 1 2 1 2 1 a’1,1J’B’1,1K’1 a’2,1K’1

  • 1B’2,1K’2

a’3,1K’2

  • 1B’3,1K’3 a’4,1K’3
  • 1B’4,1L’

a’1,0J’B’1,0K’1 a’2,0K’1

  • 1B’2,0K’2

a’3,0K’2

  • 1B’3,0K3

a’4,0K’3

  • 1B’4,0L’

i 1 2 1 2

slide-26
SLIDE 26

26

1 S1,1 S2,1 ... Sh,1 S1,0 S2,0 ... Sh,0 i i1 i2 ... ih

S2,1= a2,1K1

  • 1[ vB2,1 ]K2

S1,1= a1,1 J[ vB1,1 ]K1 Sh,1= ah,1Kh-1

  • 1[ vBh,1 ]L

a2,1K1

  • 1

U

K2

V

B2,1

Zoom in: random diagonal entries and bookends

J

L

slide-27
SLIDE 27

27

Spoiler: the random diagonal entries were thought to be what stops the previous attack on GGH13-based candidates.

slide-28
SLIDE 28

28

Candidate iO from [ Garg-Gentry-Halevi-Raykova-Sahai-Waters ’13 ] (0) Representation of plaintext program: Oblivious branching program (1) Safeguard 1: Kilian randomization (2) Safeguard 2: Bundling scalars (3) Safeguard 3: random diagonal entries and bookends (4) Wrap (0-3) by multilinear maps (GGH13, CLT13, or GGH15)

1 a1,1J B1,1K1 a2,1K1

  • 1B2,1K2

a3,1K2

  • 1B3,1K3

a4,1K3

  • 1B4,1L

a1,0J B1,0K1 a2,0K1

  • 1B2,0K2

a3,0K2

  • 1B3,0K3

a4,0K3

  • 1B4,0L

i 1 2 1 2 1 a’1,1J’B’1,1K’1 a’2,1K’1

  • 1B’2,1K’2

a’3,1K’2

  • 1B’3,1K’3

a’4,1K’3

  • 1B’4,1L’

a’1,0J’B’1,0K’1 a’2,0K’1

  • 1B’2,0K’2

a’3,0K’2

  • 1B’3,0K3

a’4,0K’3

  • 1B’4,0L’

i 1 2 1 2

slide-29
SLIDE 29

29

More candidates for branching programs:

[Canetti-Vaikuntanathan about B.C. 6-5], [Barak-Garg-Kalai-Paneth-Sahai ‘14], [Brakerski-Rothblum ‘14], [Pass-Seth-Telang ‘14], [Gentry-Lewko-Sahai-Waters ‘15], [Badrinarayanan-Miles-Sahai-Zhandry ‘16], [Garg-Miles-Mukherjee-Sahai-Srinivasan-Zhandry ‘16]

Other candidates in the circuit model or bootstrapped from FE or hybrid:

[Zimmerman ‘15], [Applebaum-Brakerski ‘15], [Ananth-Jain ‘15], [Bitansky-Vaikuntanathan ‘15], [Lin ‘16], [Lin-Vaikuntanathan ‘16], etc. Candidates for BP requires degree of multilinearity = length of BP (poly) The smallest known multilinearity that implies iO is 5 (assuming some PRG with locality 5)

Candidate iO from [ Garg-Gentry-Halevi-Raykova-Sahai-Waters ’13 ] (0) Representation of plaintext program: Oblivious branching program (1) Safeguard 1: Kilian randomization (2) Safeguard 2: Bundling scalars (3) Safeguard 3: random diagonal entries and bookends (4) Wrap (0-3) by multilinear maps (GGH13, CLT13, or GGH15)

slide-30
SLIDE 30

30

Candidates without the diagonal padding GGHRSW13

[any BP + diagonal]

GMRSSZ16

[dual-input + diagonal]

GGH13 Broken [Miles et al 16] ? Secure in an idealized model CLT13 Broken [Cheon et al 15, Coron et al 15] ? GGH15 ? ? ?

Status of BP obfuscation candidates before this work Easier to break <<<<<<<<<<<<< harder to break

slide-31
SLIDE 31

31

Plan for the rest of the talk

Review GGHRSW13 obfuscation Analyze GGHRSW + GGH15 Analyze GGHRSW + GGH13 (very briefly)

slide-32
SLIDE 32

32

Review of GGH15 encoding [Gentry, Gorbunov, Halevi 15]

slide-33
SLIDE 33

33

1 a1,1J B1,1K1 a2,1K1

  • 1B2,1K2

a3,1K2

  • 1B3,1K3

a4,1K3

  • 1B4,1L

a1,0J B1,0K1 a2,0K1

  • 1B2,0K2

a3,0K2

  • 1B3,0K3

a4,0K3

  • 1B4,0L

i 1 2 1 2 1 a’1,1J’B’1,1K’1 a’2,1K’1

  • 1B’2,1K’2

a’3,1K’2

  • 1B’3,1K’3 a’4,1K’3
  • 1B’4,1L’

a’1,0J’B’1,0K’1 a’2,0K’1

  • 1B’2,0K’2

a’3,0K’2

  • 1B’3,0K3

a’4,0K’3

  • 1B’4,0L’

i 1 2 1 2

S2,1= a2,1K1

  • 1[ vB2,1 ]K2

S1,1= a1,1 J[ vB1,1 ]K1 Sh,1= ah,1Kh-1

  • 1[ vBh,1 ]L

Goal: Multiply these S matrices without revealing them, and test equality at the end

slide-34
SLIDE 34

34

Ai Ai+1

Si,1 Si,0

GGH15 encoding for the ith hop:

slide-35
SLIDE 35

35

Ai Encode(si,b): 2 steps

  • 1. Yi,b = si,b Ai+1+Ei,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:

slide-36
SLIDE 36

36

Ai

Di,1 Di,0

Encode(si,b): 2 steps

  • 1. Yi,b = si,b Ai+1+Ei,b
  • 2. Sample (by the trapdoor of Ai) small Di,b s.t. AiDi,b=Yi,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,b

Si,b

= Encoding( )

slide-37
SLIDE 37

37

[GGHRSW13]+[GGH15] A D2,1 Dh,1 D1,1 D1,0 D2,0 Dh,0 A ’ D ’2,1 D’h,1 D ’

1,1

D’1,0 D ’2,0 D’h,0

. . . ... ... ...

AL S1,1= a1,1 J[ vB1,1 ]K1

slide-38
SLIDE 38

38

Setting for the cryptanalysts

slide-39
SLIDE 39

39

Target: Branching programs that always compute the identity matrix I (corresponds to 0), with an input partitioning feature 1 I I I I I I I I I I I I I I I I i 1 2 1 2 3 4 3 4 Where P ≠ I 1 I I I I I I I I P I P-1 I I I I I i 1 2 1 2 3 4 3 4 versus Goal: extract the scalars there, run the mixed-input attack. Z zone X zone

slide-40
SLIDE 40

40

Step I, honestly evaluate many inputs that lead to zero outputs

slide-41
SLIDE 41

41

Attack GGHRSW13+GGH15 Step 1: Accumulate a matrix W via honest evaluations that yields zero.

A

D1,1 D1,0 D2,1 D2,0 ... ... Dh-1,1 Dh-1,0 Dh,1 Dh,0

A’

D’1,1 D’1,0 D’2,1 D’2,0 ... ... D’h-1,1 D’h-1, D’h,1 D’h,0

wi,j= A DxiDzj - A’ D’xiD’zj

Z zone X zone

w1,1 … w1,v w2,1 … w2,v … wu,1 … wu,v

slide-42
SLIDE 42

42

Step II, compute the left-kernel

slide-43
SLIDE 43

43

Attack GGHRSW13+GGH15 Step 1: Accumulate a matrix W via honest evaluations. Step 2: Compute the left-kernel of W (In the rest of the analysis in this talk, I will ignore the dummy branch. )

wi,j= A DxiDzj - A’ D’xiD’zj

Z zone X zone

w1,1 … w1,v w2,1 … w2,v … wu,1 … wu,v

Sx1 Ex1 Sz1A0+Ez1

Dz1

SzvA0+Ezv

Dzv

Sx2 Ex2 Sxu Exu

x =

slide-44
SLIDE 44

44

Attack GGHRSW13+GGH15 Step 1: Accumulate a matrix W via honest evaluations. Step 2: Compute the left-kernel of W (In the rest of the analysis in this talk, I will ignore the dummy branch. )

w1,1 … w1,v w2,1 … w2,v … wu,1 … wu,v

Sx1 Ex1 Sz1A0+Ez1

Dz1

SzvA0+Ezv

Dzv

Sx2 Ex2 Sxu Exu

x =

F⋅W = F⋅X⋅Z = 0 => F⋅X=0

Z X W

slide-45
SLIDE 45

45

Attack GGHRSW13+GGH15 Step 1: Accumulate a matrix W via honest evaluations. Step 2: Compute the left-kernel of W (In the rest of the analysis in this talk, I will ignore the dummy branch. )

First two steps are taken from the previous zeroizing attack [CLLT16], the next few steps will be more involved.

slide-46
SLIDE 46

46

Step III, from the left-kernel F, extract information about scalars

slide-47
SLIDE 47

47

Attack GGHRSW13+GGH15 Step 1: Accumulate a matrix W via honest evaluations. Step 2: Compute the left-kernel of W: FW = FXZ = 0 => FX=0 Step 3: From F, learn something about scalars

Sx1 Ex1 Sx2 Ex2 Sxk Exk

= 0

f1,1, f1,2, ..., f1,k ... fd,1, fd,2, ..., fd,k

x

Sxi = axi⋅J⋅diag(uxi, vxi, Ixi)⋅K

The useful equations: ∀ g in [1,d] ∑k

i=1 fg,i ⋅ ∏xiai,xi=0

what we have what we want

slide-48
SLIDE 48

48

Challenge: solve the non-linear equations.

The useful equations: ∀ g in [1,d]

∑k

i=1 fg,i ⋅ ∏xiai,xi=0

Attack GGHRSW13+GGH15 Step 1: Accumulate a matrix W via honest evaluations. Step 2: Compute the left-kernel of W: FW = FXZ = 0 => FX=0 Step 3: From F, learn something about scalars

slide-49
SLIDE 49

49

Challenge: solve the non-linear equations. Solution: use the homogeneous feature, possible to get partial relations of some ai,xi/aj,xj

The useful equations: ∀ g in [1,d]

∑k

i=1 fg,i ⋅ ∏xiai,xi=0

Attack GGHRSW13+GGH15 Step 1: Accumulate a matrix W via honest evaluations. Step 2: Compute the left-kernel of W: FW = FXZ = 0 => FX=0 Step 3: From F, learn something about scalars

slide-50
SLIDE 50

50

Step IV, …… wait, more?

slide-51
SLIDE 51

51

Attack GGHRSW13+GGH15 Step 1: Accumulate a matrix W via honest evaluations. Step 2: Compute the left-kernel of W: FW = FXZ = 0 => FX=0 Step 3: From F, learn something about scalars

1 I I I I I I I I I I I I I I I I i 1 2 1 2 3 4 3 4 1 I I I I I I I I P I P-1 I I I I I i 1 2 1 2 3 4 3 4 What we can get: a1,1a3,1/a1,0a3,0 a1,1a3,1/a2,1a4,1 a1,1a3,1/a2,0a4,0 1 2 3 4 What we want: each of them a1,1 , a3,1 , a1,0 , a3,0…..

slide-52
SLIDE 52

52

Attack GGHRSW13+GGH15 Step 1: Accumulate a matrix W via honest evaluations. Step 2: Compute the left-kernel of W: FW = FXZ = 0 => FX=0 Step 3: From F, learn something about scalars

1 I I I I I I I I I I I I I I I I i 1 2 1 2 3 4 3 4 1 I I I I I I I I P I P-1 I I I I I i 1 2 1 2 3 4 3 4 What we can get: a1,1a3,1/a1,0a3,0 a1,1a3,1/a2,1a4,1 a1,1a3,1/a2,0a4,0 1 2 3 4 What we want: each of them a1,1 , a3,1 , a1,0 , a3,0….. Possible to get some pairs via PIP solver and factoring oracles.

slide-53
SLIDE 53

53

If you have a quantum computer (or willing to spend subexponential time classically), you have PIP and factoring oracles

slide-54
SLIDE 54

54

Attack GGHRSW13+GGH15: summary Step 1: (Evaluate, reorganize results) Accumulate equations to get a matrix W Step 2: (linear algebra) Compute the left-kernel F of W Step 3: (alternative linear algebra) From F, find out ratios of scalars from X zone Step 4: (Quantum polynomial or subexponential classical) From the ratios of scalars, find the small representations, and run the mixed-input attack

1 I I I I I I I I I I I I I I I I i 1 2 1 2 3 4 3 4 1 I I I I I I I I P I P-1 I I I I I i 1 2 1 2 3 4 3 4 Z zone X zone

slide-55
SLIDE 55

55

Plan for the rest of the talk

Review GGHRSW13 obfuscation How to break GGHRSW + GGH15 How to break GGHRSW + GGH13 (very briefly)

slide-56
SLIDE 56

56

GGH13 quick recap

Base ring: R = Z[x]/(xn+1) Master secret: a small g in R Ideal generated by g: I = <g> = { gu, u∈ R } B(g) = { g, Xg, ..., Xn-1g } Plaintext space: R/I Zero-test parameter: hzk/g Encode(m): (m+gr)/z

slide-57
SLIDE 57

57

GGHRSW+GGH13 attack overview

Step I: Using zeroizing attack to recover I = <g>

(If you have a quantum computer or willing to spend subexponential time, can get g itself from I; yield a total break)

Step II: compute ratios of scalars “in some form” Step III: Once you have the ratios of scalars, can use a simplified version of annihilation attack [MSZ 16] 1 I I I I I I I I I I I I I I I I P I P-1 I I I I I i 1 2 1 2 3 4 3 4 5 6 5 6 Z zone Y zone X zone

slide-58
SLIDE 58

58

Summary of the status of BP obfuscation

some single input BPs with input partition some single input BPs without input partition* all BPs (esp. Dual-input) GGH13 Classical polynomial time [ CGH17 ] Candidates without diagonal paddings [ MSZ16, ADGM17 ] ??????? CLT13 Classical poly [ CHLRS15 ] Classical poly [ CLLT 17 ] Quantum [Factoring] GGH15 Quantum polynomial or classical Subexponential time [ CGH17 ] ? ???????

* Missing details of the exact statements. For the exact parameters see the references. Blue: concurrent works that use the tensoring method.

slide-59
SLIDE 59

59

The next benchmark for cryptanalyst: [ Garg-Miles-Mukherjee-Sahai-Srinivasan-Zhandry ‘16 ] (0) Dual-input branching program (1) Bundling scalars (against mixed-input attacks) (2) Kilian randomization (against partial evaluation) (3) Adding random diagonal matrices and bookends (4) Wrap (0-3) by multilinear maps For this candidate no attack is published for GGH13, CLT13, GGH15 With idealized-model-type security proof for GGH13 Another direction for cryptanalyst: Attack without using encodings of zero (e.g. targeting obfuscation for evasive functions)

slide-60
SLIDE 60

60

The next benchmark for cryptanalyst: [ Garg-Miles-Mukherjee-Sahai-Srinivasan-Zhandry ‘16 ] (0) Dual-input branching program (1) Bundling scalars (against mixed-input attacks) (2) Kilian randomization (against partial evaluation) (3) Adding random diagonal matrices and bookends (4) Wrap (0-3) by multilinear maps For this candidate no attack is published for GGH13, CLT13, GGH15 With idealized-model-type security proof for GGH13 Another direction for cryptanalyst: Attack without using encodings of zero (e.g. targeting obfuscation for evasive functions) For counter-cryptanalyst: can identify secure mode for GGH15 that can be based on LWE: Constraint-hiding constrained PRFs for NC1 from LWE Ran Canetti, Yilei Chen Separating Semantic and Circular Security for Symmetric-Key Bit Encryption from the Learning with Errors Assumption Rishab Goyal, Venkata Koppula, Brent Waters And more on eprint recently, possibly more safe applications.

slide-61
SLIDE 61

61

“A story of pursuing the truth and happiness in the crusade of postmodern cryptography.”

slide-62
SLIDE 62

62

Thanks for your time. Bye!