A shuffle argument secure in the generic model

Slides:



Advertisements
Similar presentations
Perfect Non-interactive Zero-Knowledge for NP
Advertisements

Short Pairing-based Non-interactive Zero-Knowledge Arguments Jens Groth University College London TexPoint fonts used in EMF. Read the TexPoint manual.
Simulation-sound NIZK Proofs for a Practical Language and Constant Size Group Signatures Jens Groth University of California Los Angeles Presenter: Eike.
Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.
On the Amortized Complexity of Zero-Knowledge Proofs Ronald Cramer, CWI Ivan Damgård, Århus University.
Secure Evaluation of Multivariate Polynomials
Spreading Alerts Quietly and the Subgroup Escape Problem Aleksandr Yampolskiy (Yale) Joint work with James Aspnes, Zoë Diamadi, Kristian Gjøsteen, and.
Efficient Non-Interactive Zero Knowledge Arguments for Set Operations Prastudy Fauzi, Helger Lipmaa, Bingsheng Zhang University of Tartu, University of.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London.
Gillat Kol joint work with Ran Raz Competing Provers Protocols for Circuit Evaluation.
How to Delegate Computations: The Power of No-Signaling Proofs Ron Rothblum Weizmann Institute Joint work with Yael Kalai and Ran Raz.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
1. 2 Gap-QS[O(1), ,2|  | -1 ] Gap-QS[O(n), ,2|  | -1 ] Gap-QS*[O(1),O(1), ,|  | -  ] Gap-QS*[O(1),O(1), ,|  | -  ] conjunctions of constant.
1 Adapted from Oded Goldreich’s course lecture notes.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
Secure Efficient Multiparty Computing of Multivariate Polynomials and Applications Dana Dachman-Soled, Tal Malkin, Mariana Raykova, Moti Yung.
Electronic Voting Schemes and Other stuff. Requirements Only eligible voters can vote (once only) No one can tell how voter voted Publish who voted (?)
On Everlasting Security in the Hybrid Bounded Storage Model Danny Harnik Moni Naor.
Quadratic Residuosity and Two Distinct Prime Factor ZK Protocols By Stephen Hall.
How to play ANY mental game
Efficient and Robust Private Set Intersection and multiparty multivariate polynomials Dana Dachman-Soled 1, Tal Malkin 1, Mariana Raykova 1, Moti Yung.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
SANDRA GUASCH CASTELLÓ PHD EVOTING WORKSHOP LUXEMBOURG, 15-16/10/2012 SUPERVISOR: PAZ MORILLO BOSCH Verifiable Mixnets.
Secure Conjunctive Keyword Search Over Encrypted Data Philippe Golle Jessica Staddon Palo Alto Research Center Brent Waters Princeton University.
Almost Entirely Correct Mixing With Applications to Voting Philippe Golle Dan Boneh Stanford University.
Multi-Party Computation r n parties: P 1,…,P n  P i has input s i  Parties want to compute f(s 1,…,s n ) together  P i doesn’t want any information.
Solving Linear Equations
The NP class. NP-completeness
Topic 36: Zero-Knowledge Proofs
On the Size of Pairing-based Non-interactive Arguments
MPC and Verifiable Computation on Committed Data
Some slides borrowed from Philippe Golle, Markus Jacobson
Linear Algebra with Sub-linear Zero-Knowledge Arguments
Cryptographic protocols 2014, Lecture 2 assumptions and reductions
Digital Signature Schemes and the Random Oracle Model
Cryptographic protocols 2015, Lecture 1 Introduction
Helger Lipmaa University of Tartu, Estonia
cryptographic protocols 2014, lecture 14 Groth-Sahai proofs
Digital Signature Schemes and the Random Oracle Model
Shorter Quasi-Adaptive NIZK Proofs for Linear Subspaces
Cryptographic protocols 2016, Lecture 12 Sigma protocols
Soundness of Formal Encryption in the Presence of Key Cycles
cryptographic protocols 2014, lecture 12 Getting full zero knowledge
cryptographic protocols 2016, lecture 13 Sigma protocols for DL
The Curve Merger (Dvir & Widgerson, 2008)
How to Delegate Computations: The Power of No-Signaling Proofs
cryptographic protocols 2016, lecture 16 Groth-Sahai proofs
Cryptographic protocols 2016, Lecture 3 Key Exchange, CDH, DDH
Zcash adds privacy to Bitcoin’s decentralization
Cryptographic protocols 2015, Lecture 3 Key Exchange, CDH, DDH
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Static Output Feedback and Estimators
Fiat-Shamir for Highly Sound Protocols is Instantiable
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Short Pairing-based Non-interactive Zero-Knowledge Arguments
Impossibility of SNARGs
Instructor: Aaron Roth
Oblivious Transfer.
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Cryptography Lecture 23.
Cryptography Lecture 26.
Towards a Classification of Non-interactive Computational Assumptions in Cyclic Groups Essam Ghadafi University of the West of England Jens Groth University.
Jens Groth and Mary Maller University College London
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

A shuffle argument secure in the generic model Prastudy Fauzi, Helger Lipmaa, Michal Zajac University of Tartu, Estonia ASIACRYPT 2016 Estonian-Latvian Joint Theory Days, 14.10.2016

Our results A new efficient CRS-based NIZK shuffle argument Four+ times more efficient verification than in prior work Verification time more critical Soundness proof in the Generic Bilinear Group Model Very complicated machine-assisted proof Use computer algebra to solve systems of polyn. eq. Esp. to find Gröbner bases Enables proof verification by practitioners Possible future work: synthesis?

A bit of motivation: e-voting Anonymity Correctness Data is public (Data, source) is private

Simple Mix-nets ψ,s π, r sk c1=Encpk(m1) d1=cπ(1) e1=dψ(1) mψ(π(1)) mψ(π(2)) mψ(π(3)) d2=cπ(2) e2=dψ(2) c2=Encpk (m2) d3=cπ(3) e3=dψ(3) c3=Encpk (m3) Encryption protects against eavesdropping on the Internet Private against each individual server Not yet correct: what if a server cheats?

Accountable Mix-nets Verify all proofs pk, π, r pk, ψ,s sk c1=Encpk(m1) d1=cπ(1) e1=dψ(1) d2=cπ(2) e2=dψ(2) mψ(π(1)) mψ(π(2)) mψ(π(3)) c2=Encpk (m2) d3=cπ(3) e3=dψ(3) c3=Encpk (m3) Verify all proofs ”Prove” that shuffling was correct, send proof to the next server Verify all previous proofs, shuffle, create your own proof

Shuffle argument Shuffle argument: efficient zero knowledge argument of correctness of shuffling Many shuffles in the ”random oracle model” exist Several of them are quite efficient Existing CRS model arguments much less efficient

CRS-based shuffle arguments Proposed in that paper, proof in GBGM Proposed 2010+, but not in that paper, proof in GBGM L-Zhang (2012) Fauzi-L (2016) Fauzi-L-Zajac CRS length 7n + 6 8n + 17 3n + 14 Communic. 12n + 11 9n + 2 7n + 3 P comp. (units) 36 19.8 24.3 V comp. (units) 196 126 36.3 GBGM? PSDL, DLIN (comp.) KE, PKE (knowledge) TSDH, PCDH, PSP (comp.) 2x PKE (knowledge) Pure GBGM Soundness Full Culpable 1 unit = n million machine cycles According to speed records on BN curves n: number of ciphertexts (say 100,000)

Zero knowledge: CRS model td Sim(crs,td,x)=π: Proof of ” x ∈ L” crs x, w x P(crs,x,w)=π: Proof of ” x ∈ L” V(crs,x,π): Accepts or rejects

Zero knowledge: desiderata Correctness Soundness Zero knowledge (privacy) td Sim(crs,td,x)=π: Proof of ” x ∈ L” crs x, w x P(crs,x,w)=π: Proof of ” x ∈ L” V(crs,x,π): Accepts or rejects

Bilinear PAirings Three cyclic groups of the same order q: G1, G2, GT Generators g1 of G1, g2 of G2, gT of GT Bilinear map: e: G1 x G2 → GT Requirements: Efficiently computable Non-degeneracy: e (g1, g2) ≠ 1 Bilinearity: e (g1a, g2b) = e (g1, g2)ab

Assumptions & Pairings Inverting pairings should be hard Given e (A, B), compute either A or B Analogous to DL: given ga, compute a What else should be hard?

What else should be difficult? People disagree… A few hundred (thousand?) known pairing-related hardness assumptions Each of them has to be cryptanalysed ”Easiest” sanity check: does this assumption hold in the generic model?

Non-generic approach Assumption 1 (known) … Assumption m (known) Protocol Generic Model Assumption m+1 (new) … Assumption m+m’ (new) Pro: nice if m’ is not big, or most assumptions are well-known, or… Con: each arrow might mean a loss in efficiency

generic approach Protocol Generic Model Pro: only one arrow, thus smaller loss in efficiency

(SEMI-)Generic bilinear group model Meta-Assumption: adversary only has access to group operations, bilinear map, equality tests Each computed element in Gi (i=1, 2) is product of two already known elements Recursively, DL of each computed element is a known polynomial of some indeterminates Note: we do not handle GT as a generic group

Soundness in (semi-)GBGM Polynomials (TTP knows X) Linear combinations (only group operation) Quadratic tests (can use bilinear map) X1 V1(X)=Σij b1ijh1i(X) h2i(X)=0 {[f1i(X)]1} {[g1i(X) =Σi a1if1i(X)]1} … … {[f2i(X)]2} {[g2i(X) =Σi a2if2i(X)]1} Vu(X)=Σij buijh1i(X) h2i(X)=0 Xs Verifications (verifier) {hji} = {fji, hji} Random variables (TTP) CRS (TTP) Outputs (adversary)

Soundness in (SEMI-)GBGM jth verification equation ascertains Vj(X) = 0 Solve system of polynomial equations {Vj(X) = 0} in coefficients aji chosen by the adversary Show that solution coefficients are ”nice” Restricted to be as in the honest case

Intuition: constructing argument Decomposing: Write down main building blocks you need to prove in argument Each ”subargument” should be efficiently verifiable (by a single pairing) Ascertain each subargument is sound independently CRS composition: Compose CRS-s of individual subarguments together, getting one big CRS

Intuition: constructing argument Soundness check: Is the composed protocol sound? Subarguments get extra inputs in CRS If not: introduce new random variables that guarantee CRS elements are used in only correct subarguments, reiterate

Subarguments ”Permutation matrix argument”: Prover commits to permutation; proves this is done correctly ”Consistency argument”: Prover proves she used the committed permutation to shuffle ciphertexts ”Validity argument”: Prover proves each ciphertext has been formed ”correctly” Correctly: so that the soundness proof goes through

Permutation matrix argument Lemma. A matrix is permutation matrix iff It is stochastic // rows sum to (1, …, 1) Each row is 1-sparse At most one coefficient is non-zero

1-sparsity Argument [π(X)]1 = [((aIPI (X) + P0 (X) + rXρ)2 - 1) / Xρ]1 Commitment: [Ai(X)]i = [aIPI (X) + rXρ]i // i = 1, 2 Argument: // ”square span programs” [π(X)]1 = [((aIPI (X) + P0 (X) + rXρ)2 - 1) / Xρ]1 Verification equation: V (X) := (A1(X) + Xα+ P0 (X)) (A2(X) - Xα+ P0 (X)) - π(X) Xρ – (1 - Xα)2 = 0 Pi (X) are linearly independent, well-chosen polynomials

Soundness proof: idea In GBGM we know constants a1i, A1ρ, …, s.t. for X = (X, Xρ, Xα, Xβ, Xγ, Xsk) A1 (X) = Σ a1iPi (X) + A1ρXρ+ A1α (X α+ P0 (X)) + A11 P0 (X) + … A2 (X) = Σ a2iPi (X) + A2ρXρ+ A2α (-Xα + P0 (X)) + A21 + … π (X) = Σ πiPi (X) + πρXρ+ πα (X α+ P0 (X)) + π1 P0 (X) + … Verification equation states V(X) = (A1(X) + Xα+ P0 (X)) (A2(X) - Xα+ P0 (X)) - π(X) Xρ – (1 - Xα)2 = 0 Goal: find coefficients s.t. verification equation is satisfied CRS: ({[Pi(X)]1}i, [Xρ]1, [Xα+P0(X)]1, [P0(X)]1,…, ({[Pi(X)]2}i, [Xρ]2, [-Xα+P0(X)]2, [1]2,…)

Solving system of pol. equations Goal: find coefficients s.t. V (X) = 0 Step 1: V (X) = 0 iff each coefficient [Xα jXρk …] V (X) = 0 This is a system of polynomial equations … and a nasty one of more than 20 polynomial equations

Solving… Obtain that Ai (X) = aI PI (X) => Sound Too large a system for a simple human researcher… Used a mixture of computer algebra system and manual labor Use linear independence of Pi (X) to split some coefficients Construct Gröbner basis of system of polynomial equations Needs(?) a CAS… Solve the Gröbner basis Can be done manually or by using CAS Obtain that Ai (X) = aI PI (X) => Sound

Thank you!