vipul goyal microsoft research, india

32
1 Vipul Goyal Microsoft Research, India Constant Round Non- Malleable Commitments

Upload: francis-frazier

Post on 30-Dec-2015

24 views

Category:

Documents


2 download

DESCRIPTION

Constant Round Non-Malleable Commitments. Vipul Goyal Microsoft Research, India. Commitment Schemes [Blum’84]. s?. Commitment like a note placed in a combination safe Two properties: hiding and binding Electronic equivalent of such a safe. s. Com( s ). Opening of Com( s). Combination. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Vipul Goyal  Microsoft Research, India

1

Vipul Goyal Microsoft Research,

India

Constant Round Non-Malleable Commitments

Page 2: Vipul Goyal  Microsoft Research, India

2

Commitment Schemes [Blum’84]

Com(s)

CombinationReceiverCommitter

s?s?

s

• Commitment like a note placed in a combination safe• Two properties: hiding and binding• Electronic equivalent of such a safe

Opening of Com(s)

Page 3: Vipul Goyal  Microsoft Research, India

3

Contract Bidding: is a commitment sufficient?

Com(s)

• Adversary cheats and creates a winning bid

s?s?Com(s - 1)

Page 4: Vipul Goyal  Microsoft Research, India

4

Non-Malleable Commitments

• Introduced in the seminal work of Dolev, Dwork and Naor [DDN91]

Picture credit: R. Pass

• Important building block towards the bigger goal of designing secure cryptographic protocol for the internet setting

• Well studied primitive

Page 5: Vipul Goyal  Microsoft Research, India

5

NM Commitment: Definition[DDN’91, PR’05, LPV’08]

5

• Value s’ should be “independent” of s• NMcom requirement: MiM Simulator committing to

same value• No copy: each party has a unique identity/tag (tag based

non-malleability)

s s'

s'

Real World

Simulator

Page 6: Vipul Goyal  Microsoft Research, India

66

• Say extractor outputs s’ without rewinding the left honest committer

• By hiding of com: s’ independent of s• Can easily construct a simulator: commit to 0 on left

s s'

NM com: how to prove

Extractor

Page 7: Vipul Goyal  Microsoft Research, India

7

Result 1 (2011)

• This work: Constant round NM commitments using only OWFs

• Long line of work [Dolev-Dwork-Naor’91, ..]; previous state of art included several incomparable results – CRHF + NBB simulation [Barak’02, PR’05]– Super constant rounds [DDN’91,.., LP’09, Wee’10]– Non-standard assumptions [PPV’08, Wee’10]

• Independent work: Lin-Pass’11 obtained similar result using unrelated ideas– Advantage over LP’11: more “amenable” to BB use of OWF; gives

BB construction of MPC

Page 8: Vipul Goyal  Microsoft Research, India

8

Result 2 (upcoming focs)[joint with Lee, Ostrovsky, Visconti]

• Constant round NM com using only a BB use of OWFs

• Earlier: no black-box construction of NM com known without relaxing security notion (any rounds, any assumption)

• Idea: Instantiate the previous protocol from 2011 using “MPC in the head” ideas [IKOS’07]

Page 9: Vipul Goyal  Microsoft Research, India

9

Result1: Basic technical contribution

L pairs of commitments

challenge (short)

open

• Consider a slot (of e.g. PRS preamble, extractable commitments, etc)

• Say adv gets small number of commitment pairs on left; gives large number on right

• Adversary created at least one commitment pair on right on his own; in fact, can extract from right without rewinding left

• Can be seen as making s.p. different for left and right using || repetition

• Conceptual similarty to long-short NBB simulation technique of Pass’04

L’ pairs of commitments

challenge (long)

open

L’ >> L

Page 10: Vipul Goyal  Microsoft Research, India

Preliminaries

• Through out the talk:

• Only consider synchronizing adversaries

• Identities coming from polynomial domain (log length identities)

• Assume id’ > id

id id’

Page 11: Vipul Goyal  Microsoft Research, India

11

Starting protocol

Com(r1), . . ., Com(rid)

ch in [id]

opening of Com(rch) Receiver

Commiter

• Identity id from a polynomial sized domain

• Learning two shares sufficient to extract v

• Identity encoded in length of challenge

v r + ZKP of correctness

id

Generate r, break into r1 to rid using a 2-out-of-id secret sharing

Page 12: Vipul Goyal  Microsoft Research, India

12

Proof of Security

Com(r1), . . ., Com(rid)

ch in [id]

response ReceiverCommiter

• Protocol secure against non-aborting + synchronizing adversaries

• Assume id’ > id throughout the talk (space of chall strings on right bigger)

• At least two right chall mapping to same left chall (pigeon hole )

• Gives possibility to get two responses on right and give only one on left

idCom(r’1), . . ., Com(r’id’)

ch’ in [id’]

response

id’

Page 13: Vipul Goyal  Microsoft Research, India

13

Proof of Security contd..

Com(r1), . . ., Com(rid)

ch in [id]

open rch ExtractorCommiter

• Extractor: Rewind and extract from right w/o rewinding left

• Ext experiments to find a collision (ch’, ch’’ ch)

• Replays the same left message for ch’’

v r + ZKP

idCom(r’1), . . ., Com(r’id’)

ch’ in [id’]

open r’ch’

v’ r’ + ZKP

id’

ch’’ in [id’]

open r’ch’’

Extraction successful !!

Page 14: Vipul Goyal  Microsoft Research, India

14

Initial Protocol

14

• Repeat protocol twice: one with id and one with (n – id)

• We get a simple protocol secure against non-aborting adversaries

• Repeat sequentially to get security against possibly aborting adversaries

• However doesn’t give us a constant round construction

Page 15: Vipul Goyal  Microsoft Research, India

15

(Possibly) Aborting Adversaries

open ExtractorCommiter

• Problem: Adv creates a one to one mapping of left and right challenges (Aborts on the remaining right challenges)

• No Collisions!!

id

open / abort

id’

Page 16: Vipul Goyal  Microsoft Research, India

16

(Possibly) Aborting Adversaries contd..

ch in {0,1}L

Extractor

• Idea: right challenge space exponentially larger than left; see protocol

• If id’ > id, then |ch’| - |ch| ≥ k

• Collisions guaranteed to exist (else adv aborts with overwhelming prob)

• Problem: hard for extractor to find a collision in PPT

• Adv, e.g., might apply a CRHF to compute ch from ch’

id

ch’ in {0,1}L’

id’

L = k.id L’ = k.id’

Page 17: Vipul Goyal  Microsoft Research, India

17

Final protocol

ch in {0,1}L

Send the relevant strings(no openings)

• Need to extract ri for some i

• VM = verification message: two purposes

VM: com(v; r1), …, com(v; rL)L = k.id

ZKP

com(r1[0]), …, com(rL[0])

com(r1[1]), …, com(rL[1])

ri = ri[0] ri[1]

Page 18: Vipul Goyal  Microsoft Research, India

18

Extractor Description

challenge (short)

strings (no opening)

• Extract on right w/o rewinding left

• First run everything honestly on left and right (main thread)

• Rewind and give a new challenge on right

• Give simulated response on left: define unrecovered set

• See right response and try to extract

• rewind again if required

L’ > LLeft commitments: L pairs

challenge (long)

Right commitments: L’ pairs

strings

VM + ZK VM + ZK

Page 19: Vipul Goyal  Microsoft Research, India

19

Extractor Analysis

ch (short)

Simulated response

• Worry: if simulated response on left, all new strings asked on right are incorrect/random

• Even if one pair of coms on right revealed correct with noticeable prob; we are good!

Left coms: L pairs

ch’ (long)

Right coms: L’ pairs

wrong strings

Page 20: Vipul Goyal  Microsoft Research, India

20

Dependent set of commitments (on right)

Left coms: L pairs

ch’

Right coms: L’ pairs

• Intuition: set of right coms created by mauling an unrecovered com on left

• Prefix: first message on left + right

• Dependent set is defined for a prefix + left ch

• Prob over coins after prefix. A com on right belongs to dependent set S if:

1. [Interesting]: prob of string revealed correctly by M is *noticeable* (run many main threads with this prefix), and,

2. [Dependent]: prob of string revealed correctly CONDITIONED on left challenge of M being ch is negligible

ch

strings strings

Page 21: Vipul Goyal  Microsoft Research, India

21

Bounding dependent set of commitments

Left coms: L pairs

ch’

Right coms: L’ pairs

ch

• Lemma1: if |S| > L + log2(k); main thread aborted w.h.p.

Proof:

• Intuition: some commitment from S on right will be selected by ch’ w.h.p.

• M sees ch’, has 2^L choices for ch on left (each choice will define a set S)

• Prob that there exists S s.t. ch’ selects NOTHING from it is

2L / 2L + log2(k)

• Regardless of how M chooses ch, a com dependent (on unrecovered set) selected. M will answer incorrectly on right.

strings strings

Page 22: Vipul Goyal  Microsoft Research, India

22

Strictly Dependent set of commitments (on right)

Left coms: L pairs

ch’

Right coms: L’ pairs

• Defined for a given prefix + ch

• Prob over coins after prefix. A com on right belongs to strictly dependent set G if:

1. [Interesting]: prob of string revealed correctly by M is noticeable, and,

2. [Dependent]: prob of string revealed correctly when simulated response given on left is negligible

• To prove: if even one right pair not in G, we are done!

ch

strings strings

Page 23: Vipul Goyal  Microsoft Research, India

23

Bounding Strictly Dependent set of commitments

Left coms: L pairs

ch’

Right coms: L’ pairs

ch

strings strings

• Lemma2: G is a subset of S w.h.p.

Proof:

• Relies on hiding of com: say there exists a com in G but not S

• [not in S]: Run main thread, noticeable prob of seeing correct string for this com (doesn’t follow from the interesting condition)

• [in G]: Now say left response is simulated; negl prob of seeing correct string

• [in G]: Say left response is real: again noticeable prob of seeing correct string

Distinguish simulated response from real

Page 24: Vipul Goyal  Microsoft Research, India

24

Bounding Strictly Dependent set of commitments: details

Lemma2: more details

•External party ready to given q response from outside; exactly one guaranteed to be real; rest simulated; q is very large

•Hiding says can’t predict with noticeably better than 1/q

Attack:

•Select a random com on right as a candidate in G but not S

•Run main, then rewind q times using an outside response each time to complete

•If string for this com appears in main AND on exactly one other thread, output that response as real

Page 25: Vipul Goyal  Microsoft Research, India

25

Bounding Strictly Dependent set of commitments: details

Analysis:

•Guess for random com correct: 1/2L’

•Run main; say correct string appeared in main thread: prob p1

•Say when given real response, again correct string appears: prob p2

•On simulated resp, correct string appears only with negl prob

•Prob of correct guess at least p1.p2.1/2L’

•If q big enough, contradiction!!

Page 26: Vipul Goyal  Microsoft Research, India

Final Remarks

• We get obtain constant round NM com (and zero-knowledge) based on OWFs

• Implements the ideas from Pass-Rosen’05 (long-short NBB simulation or two slot simulation) using only BB simulation

• Hypothesis: Can replace any application of the long-short NBB simulation technique with this protocol (plus Barak’01)

Page 27: Vipul Goyal  Microsoft Research, India

Applications

• Theorem [tighter Kilian]: Assume there exist constant round OT. Then there exists constant round MPC

• Our techniques also give the first constant round BB MPC using poly time hardness (improvement to IKLP’06, Wee’10)

• Protocol is public-coin: useful in some follow up works to construct constant round secure computation protocols [Garg-Goyal-Jain-Sahai’12, Cho-Garg-Ostrovsky’12]

Page 28: Vipul Goyal  Microsoft Research, India

28

Result2: Black-Box NM com[joint with Lee, Ostrovsky, Visconti]

• Previous protocol: has a zero-knowledge proof of consistency in the end

• Idea: Instantiate this zero-knowledge using “MPC in the head” ideas; make only a BB use of commitment scheme

Page 29: Vipul Goyal  Microsoft Research, India

“Computation in the head” paradigm[Ishai-Kushilevitz-Ostrovsky-Sahai 2007]

• Originally used to improve the communication complexity of zero-knowledge protocols

Sender Receiver

• To prove x in L, emulate k virtual players in head

• Inputs are shares of the witness w

• Run computation for function f s.t. f(w) = 1 iff x in L

• Commit to resulting views

Com(view1), …, com(viewk)

Select k/3 coms at random

Open selected views

• Check output 1 in each view• Check all views are

honest/consistent with each other• ZK: k/3 views don’t leak anything• Soundness: to change output lots

of players need to cheat

Page 30: Vipul Goyal  Microsoft Research, India

30

Previous protocol

ch in {0,1}L

Send the relevant strings

VM: com(v; r1), …, com(v; rL)

L pairs of commitments

• First part: standard statement

• Second part: more complex. Need to implement VM in an information theoretic fashion. Use strong extractors and pairwise independent hash functions

• Require extension of the computation in the head ideas

Page 31: Vipul Goyal  Microsoft Research, India

31

Final Remarks

• Constant round multi-party coin tossing using only OWFs

• Constant Round NM statistically hiding commitments (same asymptotic round complexity)

• Open Question: non-interactive non-malleable commitments

Page 32: Vipul Goyal  Microsoft Research, India

32

Thank You!