Efficient Modular NIZK Arguments from Shift and Product Speaker: - - PowerPoint PPT Presentation

efficient modular nizk arguments from shift and product
SMART_READER_LITE
LIVE PREVIEW

Efficient Modular NIZK Arguments from Shift and Product Speaker: - - PowerPoint PPT Presentation

Efficient Modular NIZK Arguments from Shift and Product Speaker: Bingsheng Zhang 1 Joint work with Prastudy Fauzi 2 and Helger Lipmaa 2 1. National and Kapodistrian University of Athens, Greece 2. University of Tartu, Estonia S CANS 2013,


slide-1
SLIDE 1

S Efficient Modular NIZK Arguments from Shift and Product

Speaker: Bingsheng Zhang1

Joint work with Prastudy Fauzi2 and Helger Lipmaa2

  • 1. National and Kapodistrian University of Athens, Greece
  • 2. University of Tartu, Estonia

CANS 2013, Paraty, Brazil

slide-2
SLIDE 2

Outline

S NIZK Background S The New Succinct Commitment Scheme S The Improved Hadamard Product Argument S The Shift and Rotation Arguments S Applications S Conclusion

slide-3
SLIDE 3

Non-interactive Zero-knowledge (NIZK) Argument

Proof: ψ

Statement: x ∈ L

slide-4
SLIDE 4

Constant-Size NIZK Arguments

S Constant-size NIZK argument for CIRCUIT-SAT was first

proposed by Groth [ASIACRYPT 2010].

S CRS size is .

S Lipmaa then improved Groth’s NIZK argument for CIRCUIT-SAT

[TCC 2012].

S CRS size is .

S Gennaro et al. proposed another constant-size NIZK argument for

CIRCUIT-SAT based on quadratic span programs [EUROCRYPT 2013].

S Prover’s computation complexity is .

S Lipmaa proposed a better span program based NIZK argument with

prover’s computation [ASIACRYPT 2013].

O(n2) O(n1+o(1)) Θ(n log2 n) Θ(n log3 n)

slide-5
SLIDE 5

Modular NIZK Arguments

S Hadamard Product Arguments

S Show that the given commitments of vectors:

satisfies that S (Public) Permutation Arguments

S Show that the given commitments of vectors:

satisfies that where is a public permutation

a = (a1, a2, . . . , an) b = (b1, b2, . . . , bn) c = (c1, c2, . . . , cn) a b = c := (c1 = a1b1, . . . , cn = anbn) a = (a1, a2, . . . , an) b = (b1, b2, . . . , bn) π

b = π(a) := (b1 = aπ(1), . . . , bn = aπ(n))

slide-6
SLIDE 6

Modular NIZK Arguments

S Shift Arguments (this work)

S Show that the given commitments of vectors:

satisfies that S Rotation Arguments (this work)

S Show that the given commitments of vectors:

satisfies that

a = (a1, a2, . . . , an) b = (b1, b2, . . . , bn) a = (a1, a2, . . . , an) b = (b1, b2, . . . , bn) (a1, . . . , an) = (bξ+1, . . . , bn, 0, . . . , 0) (a1, . . . , an) = (bξ+1, . . . , bn, b1, . . . , bξ)

slide-7
SLIDE 7

Comparison of NIZK Arguments

Scheme |CRS| |Argument| Prover’s computation Verifier’s computation [Gro10] [Lip12] This work

Θ(n2) Θ(n1+o(1)) Θ(n1+o(1)) Θ(1) Θ(1) Θ(1)

Θ(n1+o(1) log n) mul Θ(n2) add+ Θ(n1+o(1)) exp Θ(n2) exp Θ(n) mul+ Θ(1) pairing Θ(n) exp+ Θ(1) pairing Θ(n) mul+ Θ(1) pairing

slide-8
SLIDE 8

Power Knowledge of Exponent Assumption

S Gentry and Wichs showed that succinct NIZK arguments

cannot be based on falsifiable assumptions [STOC 2011].

S Knowledge of Exponent Assumption [Dam91]

S Given , if outputs such that

then there exists an extractor that can access the random tape of and output such that . S Power Knowledge of Exponent Assumption

S Given , if outputs s.t.

then there exists an extractor that can access the random tape of and output s.t. . (g, h := gs) A (C, D) D = Cs X A (c, d) C = gc, D = hd (gi := gσi, hi := gsσi)i∈[n] A (C, D) D = Cs (ci, di)i∈[n] C =

n

Y

i=1

gci

i , D = n

Y

i=1

hdi

i

X A

slide-9
SLIDE 9

The New Succinct Vector Commitment Scheme

S System parameters: and S Key generation: set and

S Return and

S Commit : pick

S Return

S Trapdoor commit: pick ; return S Trapdoor open to : set

S Return

Λ = {λ1, . . . , λn} v > max

i

λi (gλi, ˆ gλi) ← (g, g ˆ

α)σλi

(h, ˆ h) ← (g, g ˆ

α)σv

ck := ((gλi, ˆ gλi)i∈[n], h, ˆ h) td := σ a = (a1, . . . , an) r ← Zp (c, ˆ c) := (h, ˆ h)r ·

n

Y

i=1

(gλi, ˆ gλi)ai (c, ˆ c) := (h, ˆ h)r r ← Zp a = (a1, . . . , an) rtd ← r −

n

X

i=1

aiσλi−v (a, rtd)

slide-10
SLIDE 10

The Improved Hadamard Product Argument

S Main idea:

S Let S Goal: to enable S From left side we have: S So the CRS is designed to allow the prover to compute all the

monomials except the ones associated with . A := Com(a; ra) = g

raσv+Pn

i=1 aiσλi

1

B2 := Com(b; rb) = g

rbσv+Pn

i=1 biσλi

2

C := Com(c; rc) = g

rcσv+Pn

i=1 ciσλi

1

D := Com(1; 0) = g

Pn

i=1 σλi

2

e(A, B2)/e(C, D) = e(g1, ψ) loge(g1,g2)(e(A, B2)/e(C, D)) = (raσv +

n

X

i=1

aiσλi)(rbσv +

n

X

i=1

biσλi) − (rcσv +

n

X

i=1

ciσλi)(

n

X

i=1

σλi) aibi − ci

slide-11
SLIDE 11

The Improved Hadamard Product Argument

S Speed up the prover’s computation:

S FFT-based polynomial multiplication techniques. S Pippenger’s multi-exponentiation algorithms.

n

Y

i=1

gxi

i

u(x) v(x) u(x) · v(x)

slide-12
SLIDE 12

The Shift-by-ξ Argument

S Main idea:

S Let S Goal: to enable S We have: S If S then S So the CRS is designed to allow the prover to compute them.

A := Com(a; ra) = g

raσv+Pn

i=1 aiσλi

1

B := Com(b; rb) = g

rbσv+Pn

i=1 biσλi

1

e(A, gσξ

2 )/e(B, g2) = e(g1, ψ)

(a1, . . . , an) = (bξ+1, . . . , bn, 0, . . . , 0)

F(σ) = −

ξ

X

i=1

biσλi +

n

X

i=ξ+1

bi(σλi−ξ+ξ − σλi) + raσv+ξ − rbσv

F(σ) := loge(g1,g2)(e(A, gσξ

2 )/e(B, g2))

raσv+ξ +

n

X

i=1

aiσλi+ξ − rbσv −

n

X

i=1

biσλi

=

slide-13
SLIDE 13

The Rotation-by-ξ Argument

S Main idea:

S Let S Goal: to enable S We have: S If S then S So the CRS is designed to allow the prover to compute them.

A := Com(a; ra) = g

raσv+Pn

i=1 aiσλi

1

B := Com(b; rb) = g

rbσv+Pn

i=1 biσλi

1

e(A, gσξ

2 )/e(B, g2) = e(g1, ψ)

(a1, . . . , an) = (bξ+1, . . . , bn, b1, . . . , bξ)

F(σ) :=

ξ

X

i=1

bi(σλn−ξ+i+ξ − σλi) +

n

X

i=ξ+1

bi(σλi−ξ+ξ − σλi) + raσv+ξ − rbσv

F(σ) := loge(g1,g2)(e(A, gσξ

2 )/e(B, g2))

raσv+ξ +

n

X

i=1

aiσλi+ξ − rbσv −

n

X

i=1

biσλi

=

slide-14
SLIDE 14

Applications

S Improved range argument S Set partition argument S Subset-sum argument S Decision-knapsack argument

slide-15
SLIDE 15

Improved range argument

S Simplified Version

S Basic idea: show by showing S Steps:

S

  • 1. Commit

S

  • 2. Show that

S

  • 3. Set and prove that

S

  • 4. Set

S

  • 5. Set and prove

S

  • 6. Show that

S

  • 7. Show that

A = Com(a; ra), B = Com((b0, . . . , b`); rb) a =

`

X

i=0

bi2i, bi ∈ {0, 1} a ∈ [0, 2`+1) [b0, . . . , b`] [b0, . . . , b`] = [b0, . . . , b`] [b0, . . . , b`] [20, . . . , 2`] = [c0, . . . , c`] [e0, e1, . . . , e`] + [c0, c1, . . . , c`] := [d0, d1, . . . , d`] [e0, e1, . . . , e`] := [0, d0, . . . , d`−1] [d0, d1, . . . , d`] [0, 0, . . . , 1] = [0, 0, . . . , a] [d0, d1, . . . , d`] := [ X

j=0

cj,

1

X

j=0

cj, . . . ,

`

X

j=0

cj]

slide-16
SLIDE 16

Set Partition Argument

S Set partition problem

S Given S Find a set such that

S Argument steps:

S 1. Commit and show that S 2. Commit and show that S 4. Set S 5. Set and prove S 6. Show that S 7. Show that

S = (s1, . . . , sn), si ∈ Zp V ⊂ S X

x∈V

x = X

y∈S\V

y [b1, . . . , bn] [b1, . . . , bn] = [1, . . . , 1] [s1, . . . , sn] [b1, . . . , bn] = [c1, . . . , cn] [d1, . . . , dn] [0, . . . , 0, 1] = [0, . . . , 0] [e0, e1, . . . , en] := [0, d0, . . . , dn−1] [d0, d1, . . . , dn] := [ X

j=0

cj,

1

X

j=0

cj, . . . ,

n

X

j=0

cj] [e0, e1, . . . , en] + [c0, c1, . . . , cn] = [d0, d1, . . . , dn] Define bi = 1 for si ∈ V and bj = −1 for sj ∈ S \ V

slide-17
SLIDE 17

Subset-sum Argument

S Subset-sum problem

S Given and the target S Find a set such that

S Argument steps:

S 1. Commit and show that S 2. Commit and show that S 4. Set S 5. Set and prove S 6. Show that S 7. Show that

S = (s1, . . . , sn), si ∈ Zp V ⊂ S [s1, . . . , sn] [b1, . . . , bn] = [c1, . . . , cn] [e0, e1, . . . , en] := [0, d0, . . . , dn−1] [d0, d1, . . . , dn] := [ X

j=0

cj,

1

X

j=0

cj, . . . ,

n

X

j=0

cj] [e0, e1, . . . , en] + [c0, c1, . . . , cn] = [d0, d1, . . . , dn] X

x∈V

x = t t ∈ Zp [b0, . . . , bn] [b0, . . . , bn] = [b0, . . . , bn] [d1, . . . , dn] [0, . . . , 0, 1] = [0, . . . , 0, t] Define bi = 1 for si ∈ V and bj = 0 for sj ∈ S \ V

slide-18
SLIDE 18

Decision-knapsack Argument

S Decision-knapsack problem

S Given a set S, integers W and B, and benefit value and

weight of every item in S.

S Decide whether there exists a subset such that

S

1.

S

2.

S Argument steps: range NIZK argument is involved. (See full

version for details).

{bi}i∈S {wi}i∈S T ⊆ S X

i∈T

wi ≤ W X

i∈T

bi ≥ B

slide-19
SLIDE 19

Conclusion

S We improved the Hadamard product argument S We proposed shift and rotation arguments S We constructed many NP-complete languages, such as set

partition and subset-sum, etc.

S We believe that the presented modular NIZK arguments can

be used to build many other complex NIZK arguments for some concrete languages.

slide-20
SLIDE 20

Thank You!