PPT

advertisement
Non-Black-Box Simulation in the
Fully Concurrent Setting
Vipul Goyal
Microsoft Research India
1
Non Black Box Simulation [Barak’01]
• ZK and simulation [Goldwasser-Micali-Rackoff’85]. All initial
simulators used code of adv in a black-box way
• Barak introduced non-black-box simulation in
cryptography
• Gave a new ZK protocol: public-coin, based on CRHFs,
“straight-line” strict poly time simulation
• Helped changed the landscape of cryptographic protocols:
useful in resettable protocols, non-malleable protocols,
concurrent secure computation protocols ….
2
Our Contribution
• A main limitation of Barak’s technique was in the concurrent
setting
– Simulator only worked in standalone or bounded concurrent setting
• Main contribution: extend Barak’s technique to the fully
concurrent setting
• We give a new ZK protocol: as with Barak’s, ours is public-coin, based
on CRHFs, and has a “straight-line” strict poly-time simulator
– However simulation works in the fully concurrent setting
• Not a strict improvement over Barak’s: round complexity of our
construction is nϵ (where it was only a constant in Barak’s)
3
Talk Overview
• Recall Barak’s construction and the problems in fully
concurrent setting
• Our ZK construction
– Reduce the core challenge to a purely combinatorial problem
– Relatively simple and short proof
– Arguably the simplest concurrent ZK protocol
• Applications
• Simplifying Assumption: Assume a non-interactive WI
universal argument system (one message from Prover to
Verifier)
4
Barak’s ZK Construction
Statement: x in L
Com(h(M))
Random r
Prover
slot
Verifier
WI-UA: x in L or
M outputs r
Soundness: r is long and
random
ZK simulator: M is the
code/state of the verifier
machine
5
Concurrent setting: problem
Com(h(M))
.
.
c
• M doesn’t output r
r
UA: M outputs r
c.k steps
• Fix: M contains the state of
system (simulator + verifier)
• M regenerates the entire slot
transcript and finally arrives at r
• The UA takes time c.k to compute
6
Exponential time simulator
Session 2
Session 1
Com(h(M))
r
1-heavy
c’ = c.k
c
0-heavy
1-heavy
c.k steps
2-heavy
c.k2 steps
•
•
•
•
Messages except UA: 0-heavy
If slot has i-heavy messages: i-heavy slot
UA regenerating transcript of i-heavy slot: (i+1) heavy UA
If i-heavy for superconstant i => simulation exponential time
7
A failed attempt: have many slots
Com(h(M1))
r1
.
.
Com(h(Mn))
rn
UA:
x in L or
1-heavy
Mi outputs ri for some i
UA still “heavy”
Repeat in parallel n times to get
n different 1-heavy UAs
Next session: Make n slots 1heavy
8
Our Idea: Have many UA’s
Com(h(M1))
r1
UA1
heavy
.
.
Com(h(Mn))
rn
UAn
9
Our Protocol: Basic Idea
Com(h(Mi))
ri
UA: Mi output ri
Com(UAi)
WIAOK: x in L or
i-th UA convincing for
some i
For i =1 to n
• Only one UA needs to be picked for simulation in each
session
• Adv doesn’t know which one it is
10
Basic combinatorial problem: construct a
marking strategy
• Simulator has to mark each outgoing UA message either
SIMULATE or BLANK
• UA marked BLANK: 0-heavy
• i-heavy slot: contains i-heavy UA
– If slot doesn’t have a simulated UA, 0-heavy
• UA marked SIMULATE: (i+1)-heavy iff the slot is i-heavy
• Constraint
– At least one UA in each session marked SIMULATE.
– No i-heavy UA for any super-constant i
11
Example
• Say we mark the first UA message SIMULATE in all sessions
i-heavy UA for
super-constant i
0-heavy
1-heavy
2-heavy
2-heavy
3-heavy
.
.
.
.
.
.
0-heavy
0-heavy
0-heavy
1-heavy
0-heavy
0-heavy
0-heavy
Session 3
Session 2
• Randomized marking strategy: paper for details
Session 1
12
Sample of Applications
• First public-coin concurrent ZK
– Earlier negative result with BB simulation [Pass-Tseng-Wikstrom’09]
• First concurrent blind signatures as per ideal/real definition
– Earlier negative result for BB simulation by [Lindell’03]
• Resolving the bounded pseudoentropy conjecture [Goyal’12]
• Improvements in both the round complexity as well as the
class of realizable functionalities for concurrent secure
computation
13
Thank You!
14
Download