NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA,...

27
NON-INTERACTIVE RANDOMIZABLE PROOFS AND DELEGATABLE ANONYMOUS CREDENTIALS Mira Belenkiy, Jan Camenisch, Melissa Chase, Markulf Kohlweiss, Anna Lysyanskaya, and Hovav Shacham

Transcript of NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA,...

Page 1: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

NON-INTERACTIVE RANDOMIZABLE PROOFS AND

DELEGATABLE ANONYMOUS CREDENTIALS

Mira Belenkiy, Jan Camenisch, Melissa Chase, Markulf Kohlweiss, Anna Lysyanskaya, and Hovav Shacham

Page 2: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

NON-INTERACTIVE ZERO KNOWLEDGE PROOFS

� Introduced, extended by [BDMP, FLS, KP, GOS]

CRS

Statement: y ∈ L

Proof πVerifierProver

yes/noWitness w

Page 3: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

SECURITY PROPERTIES

� Completeness

� Honest prover convinces verifier

� Soundness

� No prover can convince verifier of false statement� No prover can convince verifier of false statement

� Zero Knowledge [GMR]

� Proof reveals nothing besides truth of statement

Markulf Kohlweiss 3

Page 4: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

RANDOMIZABLE PROOFS

� New property: RandomizabilityRandomizabilityRandomizabilityRandomizability

� Randomized proof looks like freshly generated

proof

Additional algorithm: randomize� Additional algorithm: randomize

Markulf Kohlweiss 4

y, π y, π’

randomize

Page 5: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

OUR CONTRIBUTION

� Define randomizability

� Give randomizable NIZK proofs

� for NP, building on [GOS]

� leading to efficient applications building on [GS]� leading to efficient applications building on [GS]

� Application: delegatable anonymous

credentials

Markulf Kohlweiss 5

Page 6: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

� Malleability as a bug [DDN, Sahai, DDOPS]

� Malleability as a featureMalleability as a featureMalleability as a featureMalleability as a feature� Homomorphic encryption [ElGamal, Paillier, Gentry]

� RCCA encryption [PR, Groth]

� Translation between pseudonymsTranslation between pseudonymsTranslation between pseudonymsTranslation between pseudonyms:

RANDOMIZABILITY AND MALLEABILITY

Translation between pseudonymsTranslation between pseudonymsTranslation between pseudonymsTranslation between pseudonyms:

y1 about Nym1 = Com(x, r1), y2 about Nym2 = Com(x, r2)

� proof π’’ looks like fresh proof for y2

Markulf Kohlweiss 6

y1, π y2, π’

randomize

y2, π’’

maul

Page 7: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

DELEGATION OF CREDENTIALS

� Credentials help manage large systems.

A(dmin) C will be topic

B will be forum admin.

Markulf Kohlweiss 7

B

C

E

D(atabase)

C will be topic

moderator.

I want this post

removed.

Your credentials

are good, I

remove post.

Page 8: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

DELEGATION OF CREDENTIALS

� Signatures � delegatable credentials

A

σ1= SignskA(pkB)

A(dmin)

Markulf Kohlweiss 8

σ1 , σ2 =SignskB(pkC) σ1 , σ2 , σ =SignskC(m)

B

C

E

DD(atabase)

Page 9: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

DELEGATION AND PRIVACY

� Reveals sensitive information

� Should identification always be the default?

� Health care reforms

� Pro life vs. pro choice

Markulf Kohlweiss

always be the default?� Controversial topics

require a balanced system

� flexible credential mechanisms(comparable to strong CCA, CMA definitions)

9

A(dmin)

B

C

E

D(atabase)

Page 10: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

� Anonymous credentials[Chaum, Brands, CLb]

DELEGATION AND PRIVACY

AA(dmin)

Markulf Kohlweiss 10

B

C

E

DD(atabase)

Page 11: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

PRIOR WORK ON DELEGATABLE CREDENTIALS

� Non-interactive Meta-proofs [DY]

� Signatures of Knowledge [CLa]

Reduction to instances of circuit-SAT� Reduction to instances of circuit-SAT

� Proofs grow exponentially in number of levels

Markulf Kohlweiss 11

Page 12: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

� Use randomizable proofs

A(dmin) π1

DELEGATABLE ANONYMOUS CREDENTIALSNymA = Com(skA)

NymB = Com(skB)

Cred = Com(σskA(skB))

π1: proof that NymA, NymB and

Cred correct

CD(atabase)

E

D

Markulf Kohlweiss 12

B

Page 13: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

� Use randomizable proofs

A(dmin) π1

DELEGATABLE ANONYMOUS CREDENTIALSNymA = Com(skA)

NymB = Com(skB)

Cred = Com(σskA(skB))

π1: proof that nymA, NymB and

Cred correctmaul &

randomize

CD(atabase)

E

D

Markulf Kohlweiss 13

π’1,π2

B

NymC = Com(skC)

Cred = Com(σskB(skC))

Prove π2 : nymB, NymC and Cred correct

NymA = Com(skA), NymB’ = Com(skB)

Cred’ = Com(σskA(skB))

Proof π’1: nymA, nymB’ and Cred correct

NymC = Com(skC)

Cred = Com(σskB(skC))

Prove π2 : nymB’, NymC and Cred correct

NymA = Com(skA), NymB’ = Com(skB)

Cred’ = Com(σskA(skB))

Proof π’1: nymA, nymB’ and Cred correct

NymC = Com(skC)

Cred = Com(σskB(skC))

Prove π2 : nymB’, NymC and Cred correct

Page 14: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

� Use randomizable proofs

A(dmin) π1

DELEGATABLE ANONYMOUS CREDENTIALSNymA = Com(skA)

NymB = Com(skB)

Cred = Com(σskA(skB))

π1: proof that nymA, NymB and

Cred correct

NymA = Com(skA)

NymB = Com(skB)

Cred = Com(σskA(skB,attributesattributesattributesattributes))

π1: proof that nymA, NymB and

Cred correct

CD(atabase)

π’’1,π’2, π

E

D

Markulf Kohlweiss 14

π’1,π2

B

Page 15: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

Markulf Kohlweiss

TECHNICAL DETAILS

15

TECHNICAL DETAILS

Page 16: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

DEFINITION OF RANDOMIZABILITY

y, w, π

y,w y, π

left or right?

� proof π 1 looks like fresh proof for y

Markulf Kohlweiss 16

b←{0,1}

π0 π1πb

prover

Page 17: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

INSTANTIATIONS?

� Cannot be realized using Fiat Shamir

transform.

� Hash function fixes challenge

� y=gx: gr, c=H(gr), s=cx+r; check gs=gr * yc� y=gx: gr, c=H(gr), s=cx+r; check gs=gr * yc

� In random committed (hidden) bit model

[FLS, KP]

� Use parts of CRS directly as commitments

� Require trapdoor to open commitments?

Markulf Kohlweiss 17

Page 18: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

GROTH SAHAI PROOFS

� Homomorphic commitment scheme

� Com(a, r1) · Com(b, r2) = Com (a · b, r1 + r2)

� Bilinear map E in committed domain

� To prove ∏q=1 e(xq, yq) = a

� for xq, yq in Cq, Dq

� compute pairing of commitments ∏q=1E(Cq, Dq) = A

� Proof π shows that A /Com(a, 0) is commitment to 1

Markulf Kohlweiss 18

Page 19: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

RANDOMIZING GROTH SAHAI PROOFS

Randomize ({Cq , Dq }, π)

Old proof π shows (1) A / Com(a, 0) = Com(1).

� Step 1: Randomize Cq, Dq to C’q, D’q.Multiply by random commitment to 1.

Step 1: Randomize Cq, Dq to C’q, D’q.� Multiply by random commitment to 1.

� ∏q=1..Q E(C’q , D’q ) = A’

� Step 2: Compute πR that shows(2) A’ / A = Com(1)

� Step 3: Multiply proofs π * πR to show(3) A’/Com(a,0) = Com(1) Com(1)

Markulf Kohlweiss 19

Page 20: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

CONCLUSIONS

� Define randomizability

� Give randomizable NIZK proofs

� for NP, building on [GOS]

� leading to efficient applications building on [GS]� leading to efficient applications building on [GS]

� Application: delegatable anonymous

credentials

� Other applications? Other instantiations?

Markulf Kohlweiss 20

Page 21: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

QUESTIONS

Markulf Kohlweiss 21

Page 22: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

EXAMPLE FOR COMPOSITE ORDER GROUPS

� g ∈ G, h ∈ Gq E=e

� Multiplication gate: e(gx, gy) * e(gz,g-1 ) = 1

� C1 = gxhr , C2 = gyhs , C3 = gxyht

� E(gxhr , gyhs) * E(gxyht,g-1 ) = E(h, gxs+yr-t hrs )� E(g h , g h ) * E(g h ,g ) = E(h, g h )

� π= gxs gyr g-t hrs

� Randomize: C1, C2, C3

� C’1 = gxhr+r’ , C’2 = gyhs+s’ , C’3 = gxyht+t’

� E(C’1, C’2)*E(C’3,g-1 )=E(h, π)*E(g, C1s’ C2

r’ g -t’ hr’s’)

� π’= C1 s’ C2

r’ g -t’ hr’s’ and πR = π * π’

Markulf Kohlweiss 22

Page 23: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

REFERENCES

(In order of appearance)

� [BDMP] Manuel Blum, Alfredo De Santis, Silvio Micali, Giuseppe Persiano:

Noninteractive Zero-Knowledge. SIAM J. Comput. 20(6): 1084-1118 (1991)

� [FLS] Uriel Feige, Dror Lapidot, Adi Shamir: Multiple Non-Interactive Zero

Knowledge Proofs Based on a Single Random String (Extended Abstract)

FOCS 1990: 308-317FOCS 1990: 308-317

� [KP] Joe Kilian, Erez Petrank: Concurrent and resettable zero-knowledge in

poly-logarithmic rounds. STOC 2001: 560-569

� [GOS] Jens Groth, Rafail Ostrovsky, Amit Sahai: Non-interactive Zaps and

New Techniques for NIZK. CRYPTO 2006: 97-111 and

Jens Groth, Rafail Ostrovsky, Amit Sahai: Perfect Non-interactive Zero

Knowledge for NP. EUROCRYPT 2006: 339-358

Markulf Kohlweiss 23

Page 24: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

REFERENCES

� [GMR] Shafi Goldwasser, Silvio Micali, Charles Rackoff: The Knowledge

Complexity of Interactive Proof Systems. SIAM J. Comput. 18(1): 186-208

(1989)

� [GS] Jens Groth, Amit Sahai: Efficient Non-interactive Proof Systems for

Bilinear Groups. Electronic Colloquium on Computational Complexity (ECCC)

14(053): (2007)14(053): (2007)

� [DDN] Danny Dolev, Cynthia Dwork, Moni Naor: Nonmalleable Cryptography.

SIAM J. Comput. 30(2): 391-437 (2000)

� [Sahai] Amit Sahai: Non-Malleable Non-Interactive Zero Knowledge and

Adaptive Chosen-Ciphertext Security. FOCS 1999: 543-553

� [DDOPS] Alfredo De Santis, Giovanni Di Crescenzo, Rafail Ostrovsky,

Giuseppe Persiano, Amit Sahai: Robust Non-interactive Zero Knowledge.

CRYPTO 2001: 566-598

Markulf Kohlweiss 24

Page 25: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

REFERENCES

� [ElGamal] Taher El Gamal: A Public Key Cryptosystem and a Signature

Scheme Based on Discrete Logarithms. CRYPTO 1984:10-18

� [Pallier] Pascal Paillier: Public-Key Cryptosystems Based on Composite

Degree Residuosity Classes. EUROCRYPT 1999:223-238

� [Gentry] Craig Gentry: Fully homomorphic encryption using ideal lattices.

STOC 2009:169-178STOC 2009:169-178

� [PR] Manoj Prabhakaran, Mike Rosulek: Rerandomizable RCCA Encryption.

CRYPTO 2007: 517-534

� [Groth] Jens Groth: Rerandomizable and Replayable Adaptive Chosen

Ciphertext Attack Secure Cryptosystems. TCC 2004: 152-170

� [OO] Tatsuaki Okamoto, Kazuo Ohta: Divertible Zero Knowledge Interactive

Proofs and Commutative Random Self-Reducibility. EUROCRYPT 1989:134-

148

Markulf Kohlweiss 25

Page 26: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

REFERENCES

� [BDISS] Mike Burmester, Yvo Desmedt, Toshiya Itoh, Kouichi Sakurai, Hiroki

Shizuya: Divertible and Subliminal-Free Zero-Knowledge Proofs for

Languages. J. Cryptology (JOC) 12(3):197-223 (1999)

� [DY] Alfredo De Santis, Moti Yung: Cryptographic Applications of the Non-

Interactive Metaproof and Many-Prover Systems. CRYPTO 1990:366-377

� [CLa] Melissa Chase, Anna Lysyanskaya: On Signatures of Knowledge. � [CLa] Melissa Chase, Anna Lysyanskaya: On Signatures of Knowledge.

CRYPTO 2006:78-96

� [FP] Georg Fuchsbauer, David Pointcheval: Proofs on Encrypted Values in

Bilinear Groups and an Application to Anonymity of Signatures. Pairing

2009:132-149

� [Chaum] David Chaum: Security Without Identification: Transaction Systems

to Make Big Brother Obsolete. Commun. ACM (CACM) 28(10):1030-1044

(1985)

Markulf Kohlweiss 26

Page 27: NON-INTERACTIVE RANDOMIZABLEPROOFS AND … · 2009. 9. 22. · skA(skB)) Proof π’. 1: nymA, nymB’ and Credcorrect NymC= Com(skC) Prove π : nymB’, NymCand Credcorrect (skB

REFERENCES

� [Brands] Stefan Brands: Restrictive Blinding of Secret-Key Certificates.

EUROCRYPT 1995:231-247

� [CLb] Jan Camenisch, Anna Lysyanskaya: An Efficient System for Non-

transferable Anonymous Credentials with Optional Anonymity Revocation.

EUROCRYPT 2001:93-118

Markulf Kohlweiss 27