Etudes in Non-Interactive Zero-Knowledge by abhi shelat Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophyin Computer Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY December 2005 © Massachusetts Institute of Technology., MMV. All rights reserved. Author . ...... k..........: ......... X... ......... Department of E 1Engineeringand Computer Science December 2005 Certified by ........... * '/M:~' j- ....................... / Accepted by..... . · .-. 'i'.i Silvio Micali Professor Thesis Supervisor -7-) r.... .o.......... z MASSACHUSTS INSTITTE OF TECHNOY ...... Arthur C. Smith JUL 1 2006 Chairman, Department Committee on Graduate Students LIBRARIES ARCHIVES Contents List of Protocols i Introduction 2 Basics 2.I 2.2 3 4 5 3 8 NIZK Models and Definitions 3.I Non-interactive Proofs in the Trusted Setup model ........ 3.2 Adding the Zero Knowledge Property to NI Proofs ...... 3.3 The Hidden Bits Model ...................... NIZK in the Public Parameter Model 4.1 Construction Based on a One-Way Function .......... 4.2 One-Way Functions Are Necessary ............... 4.3 Lower bounds for Statistical NIZK ............... 8 20 20 . . 22 23 z6 2. 27 . . 30 32 NIZK in the Secret Parameter Model 36 5.1 37 Construction (Unconditional) ................. 6 NIZK in the Designated VerifierModel 6.i 6.2 6.3 7 I6 6 Notation and Assumptions .................... Computational Indistinguishability ................ Definition ............................ Construction Based on Semantically-Secure Encryption .... Application: Non-malleable Encryption ............ Unique NIZK 7.i Definition ......... 7.2 Construction Based on Quadratic Residuosity ......... 42 42 44 48 58 59 60 Bibliography 72 Index 77 2 List of Protocols 27.I NIZK. Proof System in the Public Parameter Model 27 37.I NIZK Proof System in the Secret Parameter Model 37 44.I NIZK Proof System in the Designated Verifier Model 44 52.I Non-Malleable Encryption Scheme I from a Designated Verifier 62.I NIZK 52 uniZK Single Theorem Proof System for 3SAT 62 3 Acknowledgments So I was prepared actually for the possibility that the game theory work would not be regarded as acceptable as a thesis in the mathematics department... John Nash, Nobel Prize Autobiography in the cave of ignorance. My advisor Silvio Micali pulled me out from that labyrinthous crypt and helped me parlay my potential into a degree. I sincerely appreciate his patience and long-term investment in me. STARTED THIS WORK To my Master's thesis advisor Madhu Sudan, I too bestow gratitude, as he was an unruffled coach during my rookie at-bats against grammar compression. I especially want to thank Rafael Pass for our prolific discussions, and Matt Lepinski, Chris Peikert and Vinod Vaikuntanathan for being top-ranker coauthors. My eonic experience at MIT owes much to my fellow toilers: Susan Hohenberger, Eric Lehman, Moses Liskov, Mike Rosenblum, Adam Smith, and office mates, Sofya Raskhodnikova, Grant Wang, and Steve Weis. Kudos to Be Blackburn who brings humanity to the goodpeople of our theory group. Finally, there are three individuals who have borne the brunt of the burden of my moodiness during my painful enlightenment. These are my parents ANIL and ILA and my brother ANANG, who have all added their own harmonies to my life. Please forgive me any omissions. 4 Abstract Prover interactivelyconvinces Verifier that theorem 7r is true in such a way that (a) a corrupt Prover cannot convince Verifier of a false theorem and (b) a corrupt Verifier cannot "learn" anything other than the fact that r is true. N a ZERO-KNOWLEDGE PROOF [GMR85], In a NON-INTERACTIVE ZERO-KNOWLEDGE PROOF [BFM88], the Provermust do the above by sending only a single message to Verifier! To make this possible, Prover and Verifier are not tabula rasa, but rather born with some setup information. Much in the fashion of a musical TUDE, in this thesis, we explore several variations on the setup assumptions for non-interactive zero-knowledge in order to enjoy a richer understanding. Our labor brings forth * various unconditional characterizations of computational and statistical NIZK proofs, * new constructions that have practical applications to non-malleable encryption and CCAz encryption, * new constructions which form the building blocks of "fair" versions of interactive zero-knowledge and collusion-free multi-party computation protocols, * and conceptual contributions which underlie the recent works on how cryptography can be used to achieve equilibrium in game theory. 6 I Introduction etude(d'tzid): a brief musical composition, usually for piano, fashioned to instruct an instrumentalist in a particular technical problem, such as scales or trills. This thesis explores variations of the following scenario, first introduced in [BFM88]: Prover has a theorem 7r and Verifier has curiosity but limited patience. Prover sends a single message to convince Verifier that 7r is true, but wishes to reveal no extra information other than the fact that 7r is true. To keep it clean, honest parties should be able to prove theorems, a corrupt Prover should be unable to prove false theorems, and a corrupt Verifier should be unable to "tease" extra information about 7ror anything else from the proof The scenario is appealing, as it both mimics the common form of a proof while implementing its corejfinction in a strikingly minimal way-nothing other than the fact that the theorem is true is revealed! While in practice, we often present proofs to deliberately convey extra understanding, there are also practical situations in which we prefer not to. Proving one's age via presentation of a driver's license, for example, often unnecessarily reveals an address. The issue becomes more important in the context of secure protocols where proofs can be used to convince the other parties that everyone is honestly following the instructions. In such situations, zeroknowledge is critical the protocol's security, and non-interactively is critical for its efficiency. As a final point, non-interactivity can facilitate otherwise impossible tasks (we explore this point more in the last chapter). 8 INTRODUCTION INTRODUCTION 99 Given the interest in said scenario, Blum, Feldman and Micali [BFM88] were the first to formalize it under the notion of non-interactivezero-knowledge (NIZIK) proofi. The same authors also present a protocol which achieves the notion, albeit, in a slightly tweaked model. In their construction, Prover and Verifier are given access to a common, randomly chosen binary string. It has since been shown by Goldreich and Oren [GO94] that to achieve the strong notion of zero-knowledge in a non-interactive setting, some type of setup assumption is necessary. In other words, Prover and Verifier cannot be tabula rasa, but must instead be born with some information before the proof protocol begins. Much in the fashion of a musical TUDE, in this thesis, we explore several variations on the setup assumptions for non-interactive zero-knowledge in order to enjoy a richer understanding of the primitive. We begin our investigation by categorizing the known setup assumptions into two major groups. Public Parameter Setup. In this model, also known as the Common Reference String Model, a string is "ideally" chosen according to some polynomialtime samplable distribution and made available to both the Prover and Verifier before the protocol. Such a setup can be used to select -say-safe primes, group parameters, or public keys for encryption schemes, etc. See for example[DAMOO, CLOS02]. Notice that the originally proposed setup from [BFM88], the common random string model in which a uniformly random string is made available to both the Prover and Verifier, is a special case. Many NIZK schemes have been implemented in this model [sMP87, BFM88, FLS99, DMP88, BDMP9I, KP98, DCO 0oi]. Secret Parameter Setup. Cramer and Damglrd [CDo4] explicitly introduce the Secret Parameter setup model in which the Prover and Verifier obtain correlated (possibly different) private information before the protocol. More generally, the secret parameter model encompasses the pre-processing model in which the Prover and Verifier engage in an arbitrary interactive protocol, at the end of which, both Prover and Verifier receive a private output. (This follows because any arbitrary protocol for pre-processing can be viewed as a polynomial-time sampler from a well-defined distribution.) Such a setup model is studied in [KMo89, DMP88, DAM93]. The above setup models can be implemented in a variety of ways, which may or may not require their own independent assumptions (For example, secure two-party computations protocols can be used to pick a random string.) In this work, we sidestep the discussion of how trusted setups are implemented, and focus instead on the various implications of the two models. We begin with a thorough characterization of the public parameter model. INTRODUCTION INTRODUCTION IO I0 Public ParameterModel For computational NIZK in the public parameter model, we first show that oneway functions are both necessary and sufficient. The results in this section assume that Prover is unbounded (as is typical in the literature on characterizing the complexity of languages which admit zero-knowledge proofs). Informal Theorem [Upper bound] If (non-uniform) one-way functions exist, then computational NIZK proof systems in the public parameter model exist for every language in AM. Informal Theorem [Lower bound] The existence of computational NIZK systems in the public parameter model for a hard-on-average language implies the existence of (non-uniform) one-way functions. Our upper bound improves on the construction of Feige, Lapidot, and Shamir [FLS99] which uses one-way permutations (albeit in the common random string model, whereas our construction requires a public parameter). Our lower bound, which applies to the weaker non-adaptive definition of zero-knowledge, was only known for interactive zero-knowledge proofs [ow93]. We therefore present a (quite) different and relatively simple direct proof for the case of NIZK in the public parameter model. Notice that by combining these two main theorems, we obtain our first unconditional characterization of computational NIZK proofs in the public parameter model: Either NIZKproofi exist onlyfor "easy"languages(ie., languagesthat are not hard-on-average), or NIZKproofi exist unconditionallyfor every language in AM(i.e., for every language which admits a non-interactiveproof). This type of "all-or-nothing" property was known for interactive zero-knowledge proofs, but not for NIZK because prior constructions of NIZK relied on one-way permutations instead of one-way functions. Statistical NIZK in the Public ParameterModel We next turn our attention to statistical NIZK proofs for NP-complete languages. We show that such proofs are unlikely to exist since unless the polynomial hierarchy collapses, NP is not contained in AMfn coAM [BHz87]. Informal Theorem [Lower bound] In the public parameter model, noninteractive statistical (non-adaptive) zero-knowledge proof systems only exist for languages in AMn coAM. Previously, Aiello and Histad [AH9I] showed a similar type of lower bound for interactive zero-knowledge proofs. Although their results extend to the case of NIZK in the common random string model, they do not extend to the general INTRODUCTION INTRODUCTION II II public parameter model. I Indeed, our proof relies on different (and considerably simpler) techniques. In the case of the stronger notion of statistical adaptive NIZK, we arrive at an even stronger result. Informal Theorem [Lower bound] Non-interactive statistical adaptive zero-knowledge proof systems only exist for languages in BPP/i (i.e., the class of languages decidable in probabilistic polynomial time with one bit of advice, which depends only on the length of the instance). By an argument of Adleman, this in particular means that all languages which have statistical adaptive NIZK in the public-parameter model can be decided by polynomial-sized circuits. We note that a similar strengthening for the non-adaptive case is unlikely, as statistical non-interactive zero-knowledge proof systems for languages which are conjectured to be "hard" are known (e.g., see [GMR98]). Secret Parameter Model One naturally suspects that the secret-parameter setup is more powerful than its public-parameter counterpart. Indeed, in game theory, a well-known result due to Aumann [AUM74] states that players having access to correlated secret strings can achieve a larger class of equilibria, and in particular, better payoffs, than if they only share a common public string. This intuition does not mislead: Informal Theorem [Upper bound] In the secret parameter model, noninteractive perfect zero-knowledge proofs exist unconditionally for all languages in AM. This resukltis obtained by combining the work of [FLs99] with an adaptation of Kilian's work on implementing commitments using oblivious transfer [KIL88]. Previously, for general NP languages, only computationalNIZK proof systems were known in the secret-parameter setup model [DMP88, FLS99, IKMo89, DFNO5]. Furthermore, these systems relied on various computational assumptions, such as the existence of one-way permutations. Recently, Cramer and Damglrd [CDO4] constructed statistical NIZK proofs in this model for specificlanguages related to discrete logarithms. (On the other hand, their results apply to an unbounded number of proofs, whereas ours do not.) As a corollary of our result, we obtain a complete characterization of computational, statistical and perfect NIZK in the secret parameter model. Namely, we show that NIP = NIZK = NISZK = NIPZK = AM, where NIP denotes the class of languages having non-interactive proofs, and NIZK, NISZK and 'This follows because the definition of zero-knowledge requires the simulator to output the random coins of the Verifier, and this is essential to the result in [AI-19i].In contrast, the definition of NIZK in the Public Parameter model does not require the Simulator to output the random coins used by the trusted-party to generate the public parameter. INTRODUCTION 12 I2 INTRODUCTION NIPZK denotes the classes of languages having non-interactive computational, statistical and perfect zero-knowledge proofs respectively. Designated Verifiers:A Special Case of the Secret Parameter Model Out of respect for chronology, and to honor the practice of theory, I shall mention that during the study of the secret parameter model, Rafael and I were excited to realize that the designatedverifier model, as first described by [jsi96], was a special case. Because our results in the secret parameter model were so strong, it was natural to hope for similar phenomena in the designated verifier case. A designated verifier proof system in one in which the Verifier receives secret information as well as any information given to the Prover. In other words, there is a public parameter, as well as a secret one given to the Verifier, and so only the designatedVerifier can verify the proof To bring an air of practicality to the issue, notice that the Cramer-Shoup [cs98, cs02] CCAz encryption scheme can be viewed as making use of designated verifier proofs which are based on specific number-theoretic assumptions. In Chapter 6, we are able to construct a designated verifier non-interactive zeroknowledge proofs from any semantically-secure cryptosystem. Informal Theorem Every semantically secure encryption schemes can be used to construct a designated verifier NIZK proof system for any language L c NP. At a high-level, our approach is to crush a special zero-knowledge 3-round Eprotocol for NP into a non-interactive proof This task is quite easy, for example, if we assume the random-oracle model. However, to do so without any other complexity assumptions, we exploit the fact that many s-protocols only require the Verifier to send a single challenge bit. Thus, for any first message of such a Eprotocol, there are only two possible Prover responses. The prover can therefore encrypt both responses using two separate encryption keys. In the designatedverifier model, we can give the verifier one of the decryption keys (as his secret information) to decrypt only one of the responses and check the proof Note that Prover does not know which of the two decryption keys is given to Verifier. By repeating the same protocol enough times, this scheme can be proven sound. Applications to Non-Malleable Encryption It is a boon that our designated verifier proof system plays a delectable role in the construction of non-malleable encryption schemes (under CPA attacks). The most basic goal of an encryption scheme is to guarantee the privacy of data. The notion of semantic security of an encryption scheme, as defined by Goldwasser and Micali [GM84], is the universally accepted formalization of the privacy of a public-key encryption scheme. Intuitively, semantic security guarantees that a ciphertext does not reveal anything about the message it conceals. INTRODUCTION 13 Non-malleability [DDNOO], defined by Dolev, Dwork and Naor, is a stronger notion of security for encryption schemes. In addition to the privacy guarantee, non-malleability of an encryption scheme guarantees that it is infeasible to modijj a ciphertext a into one, or many, other ciphertexts of messages related to the decryption of a. To be sure, it turns out that many semantically secure encryption schemes, including the original one proposed in [GM84], are easily malleable. Thus, non-malleability is a strictly stronger requirement than semantic security. Moreover, non-malleablity is often times indispensible in practical applications. For example, no one would consider secure an electronic "sealed-bid" auction in which an adversary can consistently bid exactly one more dollar than the previous bidder! The importance of non-malleability raises an important question: Can any semantically secure encryption scheme be immunized against malleability attacks? The seminal work of Dolev, Dwork and Naor answers this question affirmatively. They show how to perform such an "immunization" assuming the existence of trapdoor permutations. Subsequently, several other constructions of nonmalleable encryption schemes have been presented under various numbertheoretic assumptions, e.g. decisional Diffie-Hellman (DDH) [cs98], and quadratic-residuosity [cso2]. Nevertheless, there exist some notable computational assumptions under which semantically secure encryption schemes exist, yet no non-malleable encryption schemes are known, e.g. computational DiffieHellman (CDH), and the worst-case hardness of various lattice-problems [AD97, GGH97, REGO5]). With our designated verifier proofs, however, we can immunize without any extra assumptions. Informal Theorem Assume the existence of a semantically secure encryption scheme. Then there exists a non-malleable encryption scheme. To be sure, the DDNLite [NAoo3, DWO99, GLO3] scheme also satisfies the original definition of non-malleability proposed in [DDNOO]. However, the scheme we present satisfies an even stronger definition of non-malleability which we present in Chapter ??. Moreover, while it has been shown that neither the original definition of non-malleability for encryption nor the DDNLite scheme guarantees anything when the adversary is given severalencrytpions of messages instead of just one, we prove in Chapter ?? that our definition does compose in this way, and therefore our scheme satisfies a stronger property. Unique Non-interactive Zero-Knowledge In the final section of this thesis, we investigate a "dual" version of the designated Verifier model in which the Prover is given secret information. In this model, we construct a novel type of NIZK system, uniZK, which guarantees that, for any x E L, any prover -honest or malicious-can only INTRODUCTION I4 produce a single uniZK proof for every witness he knows. In other words, we build a "one-witness, one proof" non-interactive zero-knowledge proof system. As with the designated verifier system, our prover algorithm is efficient, and in contrast to all of the previous constructions, the proof system in this section can be used multiple times after the setup phase. The issue of uniqueness in a cryptographic primitive has been addressed in various other contexts. Goldwasser and ?? show that a unique signature scheme implies the existence of a NIZK proof system. Verifiable decryption and encryption primitives also rely on some notion of uniqueness. Philosophically, it is interesting to consider proof systems which guarantee zero-knowledge while being so highly constrained. Our interest in the "one-witness, one-proof" property stems from the question of when during a protocol player randomness is required for security Since the seminal work of Goldwasser and Micali [GM84], it is a sin qua non that secure protocols, and thus any zero-knowledge protocol, be it interactive or not, require the parties involed to use random coins. Naively, one might consider constructing a minimally probabilistic system by replacing the probabilistic prover of any NIZK system with one who first APPLICATIONSOF uNIZK chooses a short random seed for a pseudo-random function [GGM86] and acts deterministically ever after. However, while this would be conceptually simple to do, it would also be impossible for an efficient verifier to check that the prover indeed behaved in such a fashion instead of flipping new coins for each proof Since nothing in cryptography is true unless it can be proven, what we need instead is for the Prover's determinism to be made universally verifiable. The traditional method to prove a property of one's behavior is to use zeroknowledge proofs. But since zero-knowledge requires randomness itself, the classicalcryptographic approach to achieving verifiable determinism does not work. Instead, if it is known that each witness for a statement x E L admits exactly one proof acceptable by the uniZK verifier, then we can indirectly guarantee that the Prover acts deterministically during a proof stage-he can only utter one proof is he only knows one witness! And in many contexts, it is both the case that only one witness exists for a theorem. SUBLIMINALCHANNELSJust as NIZK proofs have been useful in larger protocols, uniZK proofs have found there use in protocols which aim to eliminate the steganographic or subliminal channels that are inherent in all known cryptographic protocols. Doing so has resulted in interactive zero-knowledge protocols which satisfy a stronger notion of "fairness" [LMSO5B]and secure function evaluation protocols which limit the extent to which a coalition of corrupted players can use the messages of a protocol to plan their deviating strategies [LMSo5A]. This later concept of collusion-freeness has also found applications to game-theoretic scenarios in which it is crucial to prevent players INTRODUCTION 15 from "signalling" one another in order to maintain incentive structures and equilibrium properties. The Pedigree of These Results The results in Chapters 4 and 5 appear in [IPsos]. The results from Chapter 6 are a subset of the results presented in [PSVOS].Chapter 7 comes from results in [LMso5B] and [LMSOSA]. 2'I Basics In this chapter, we introduce the quintessential concepts of theoretical cryptography. Our discussion begins with computational assumptions, such as oneway functions and trapdoor permutations. In §2.2, we define computational indistinguishability of distributions. 2.I Notation and Assumptions and [GMR88]. Let We shall closely follow the notation introduced in [BDMP9I] N be the set of integers. If k E N, then k denotes the string consisting of the symbol 1 concatenated k times. A function (.) from non-negative integers to reals is called negligible if for every constant c > 0 and all sufficiently large n, ji(n) < n -C . An efficientalgorithm is a probabilistic algorithm running in expected polynomial time. If S is a probability space, then "x - S" denotes the probabilistic algorithm consisting of choosing an element x at random according Slp(x)" denotes to S and returning x. If p is a predicate, then the notation "x the assignment consisting of choosing an element x at random according to S, and returning the first x such that p(x) is true. Let Si, S2,... be probability S 2; ... : p(x 1 , x2,.. .)] denotes spaces, then the notation Pr[xl +- Si; 2 the probability that the predicate p(Xl, x 2 ,...) is true after the ordered execution - 4- of the assignmentsxi - S; 2 - Si; ... IfS, T, . . . are probabilityspaces, S; y - T;... : (x,y, ... )} denotes the new probability the notation {x space over {(x, y,.. )} generated by the ordered execution of the assignments x S, y T, . One-way Functions Intuitively, one-way functions are functions which are easy to compute, but computationally hard to invert. Here "easy" means, achievable in polynomial I6 2.I. NOTATION AND ASSUMPTIONS I7 time (in the size of the input), and "hard" means not achievable in polynomial time. Definition 17.0. (One-way Function) A function one-way if the following two conditions are true: f: {0, 1}* - {0, 1}* is called * Easy to compute: There exist a deterministic polynomial-time algorithm A such that on input x, A outputs f(x). * Hard to invert: For every probabilistic polynomial-time algorithm A, every polynomial p(.), all sufficiently large n's, and every auxiliary input z E {o, 1}*, Pr [x - {0,l1}n;y - A(f(x), z) : f(x) = f(y)] < 1 p (n)' TrapdoorOne-way Permutations A collection of permutations with indicies in J is a set {fi : Di Di}ie such that each fi is I-I on the corresponding set Di. Such a collection is called a trapdoor permutation if there exists four probabilistic polynomial-time algorithms (I, S, F, F - 1) such that the following properties hold: I. On input a security parameter 1', the function I {1}* samples an index and a trapdoor such that for every integer n, x {0, 1}* Pr [I(1' ) E JAnx {O,1}*]> 1 - 2-n 2. On input an index a e , the function S almost uniformly samples the domain of ft g. That is, for every integer n and alpha e n, Pr[S(a) D,] > 1 - 2-n and Pr[D(i) = xjS(a) E DO]D = () ID(a)I 3. Easy to evaluate: For every integer n, i e an, and x e Di, Pr [F(i,x) = fi(x)] > 1 -24. Hard to invert: For every probabilistic polynomial-time algorithm A, every positive polynomial p and all sufficienty large n, Pr [(i,t) - I(1n); x - S(i);A(i, f(x)) = x] < 1 5. Inverting with trapdoor: Pr [F-1(t, fi(x)) = x] > 1 -2 - n A(I(ln),R) = I8 BASICS Hard-on-average Language Definition 17.1 (Hard-on-average Language). A language L is hard-on-average if there exists a p.p.t. sampling algorithm G such that for every non-uniform p.p.t. algorithm A, every polynomial p(.), and every sufficiently large n, 1 1 Pr [x *- G(1n): A(x) correctly decideswhether x E L] < 2 + () 2.2 Computational Indistinguishability Imagine being asked to determine whether two n-bit strings are similar. Such a task is quite simple as long as n is not too big: simply compare the two inputs bit by bit. Suppose now that you are asked to distinguish two sets, X and Y, of n-bit strings. Moreover, suppose that the sets are defined in such a way that they can only be accessed by (repeatedly) sampling an element from them. This might be the case, say, when X and Y represent physical processes which can only be observed. Thus, one can imagine the sets X and Y as black boxes, whose only interface consist of a button, which when pressed, outputs an element which is chosen according to some underlying (and unknown) probability distribution. In this case, how and when is it possible to determine whether the two sets are similar or not? One approach to this problem is to determine the statistical difference between the two probability distributions. The statistical difference between two distributions, X and Y, is definedby EaEXUY IPrx(a) - Pry (a) . Example I8.I Let Xn be the probability distribution which assigns equal mass to all even numbers between 0 and 2'n and zero to all other values. Let Yn be the distribution which does the same to all even numbers between zero and 2' - 1. Thus, each outcome in Xn occurs with probability 2 - (n-1) and each outcome of Yn occurs with probability 1/(2 n - 1 - 1). Letting m = n - 1, the statistical difference between Xn and Yn is therefore Pr(a) -Pr(a){ a=2,4,6,...2 n X = 2m |m-m 2 m'l 2m - 1 + 2'm = 2m= 2n -2 m Using techniques from statistics, it is possible to show that if two sets have statistical difference y, then by sampling the two distributions approximately -1 times, it is possible to distinguish the two sets with high probability. Moreover, this experiment is essentially optimal, and so y-I sets a fundamental lower bound on the amount of time it will take to distinguish such sets. Thus, for example, any experiment that distinguishes Xn and Yn will require time on the order of 2 n-2 . To any observer who takes fewer samples, the two sets will be indistinguishable with high-probability- we call such sets statisticallyindistinguishable. I9 2.2. COMPUTATIONAL INDISTINGUISHABIITY 2.2. COMPUTATIONALINDISTINGUISHABILITY 19 Because our eventual goal is to understand what efficient algorithms are able to distinguish, we consider a more relaxed notion of closeness which is computational indistinguishability. Roughly, we say that two sequences of probability distributions {Xk} and {Yk} over finite binary strings are computationally indistinguishable if, as k grows large, no efficient algorithm can tell Xk and Yk apart. Notice, that if {Xk} and {Yk} this property is a consequence of being statistically indistinguishable, but under certain well-defined mathematical assumptions, That is, it becomes infeasible to determine whether a given sample has been drawn from Xk or Yk,because all efficient experiments (i.e., those whose results we hope to "see in our lifetime") yield essentially identical results. It is often useful to write computational indistinguishability in terms of general ensembles-i.e., probability distributions indexed by a countable subset I of {0, 1}* - using polynomial-size (distinguishing) circuits rather than polynomial-time (distinguishing) algorithms.' By 1(k) we denote some negligiblefunction, i.e., one such that, for all c > 0 and all sufficiently large k, (k) < 1/kc. Definition i9.i. Two ensembles {X1, },oEIand {YW}wEIwith identical index set I are said to be computationally indistinguishable (over I) if for every polynomialsize circuit family {Dk}keN, every sufficiently large k, and every w E In {0, 1}k, we have IPr[Dk(X,) = 1]- Pr[Dk(Y,,) = 1 < (k). Lemma xi9.i. If {A}k and {B}k are ensemblessuch that {A} F: {0, 1}* - S is an efficientlycomputablefunction, then F{A} Furthermore, ifS is a finite set, then F{A} {B} and F{B}. F{B}. F{B}-that is, Proof Assume for the sake of contradiction that F{A} there exists a distinguisher D which distinguishes the two distributions. This immediately implies that A can be distinguished from B. Simply run the efficiently computable function F on the sample, feed the result to D, and return whatever D computes. The advantage that D has in distinguishing F{A} from F{B} contradicts the computational indistinguishability of A and B. When S is a finite set, suppose that the two distributions F{A} and F{B} are not statistically close, meaning that ZZ.EAnB I Pr[x E A] - Pr[x E B]I > p(k) for some polynomial p(0 where k indexes the ensembles A, B. Since the range of F is finite, there exists some element, f F{A} for which IPr[f F{A}] - Pr[f F{B} > p(k)/ISI. This fact provides the basis for a simple polynomial time distinguisher for the ensembles A, B which has polynomial advantage. The distinguisher simply runs F on its sample, and if the resulting value is f, then it returns either A or B (depending on the sign of the L difference of the probabilities in the expression above). 'Recall a polynomial-size circuit family is a sequence {Dk} of combinatorial circuits with AND and NOT gates, such that there exists a constant d for which each Dk has at most kd gates. 3 NIZK: Models and Definitions PROOF SYSTEM is a protocol between two parties, a Prover, and a Verifier, which guarantees three properties: honest parties can prove true theorems, a malicious Prover cannot convince the Verifier to accept a false theorem; a malicious Verifier cannot learn anything from an interaction beyond the validity of the theorem. Non-interactive zero-knowledge (NIZK) was proposed by Blum, Feldman, and Micali [BFM88] to investigate the minimal interaction necessary for zeroknowledge proofs. To achieve the absolute minimal amount of interaction-that is, a single message from the Prover to the Verifier-some setup assumptions are provably necessary [G0o94]. In this chapter, we define an abstracted notion of a setup for NIZK. In the remaining chapters, we investigate the different setup models by finding protocols and applications in them. ZERO-KNOWLEDGE 3.I Non-interactive Proofs in the Trusted Setup model In the trusted setup model, every non-interactive proof system has an associated distribution 9 over binary strings of the form (sv, sp). During a setup phase, a trusted party samples from 9 and privately hands the Prover sp and the Verifier sv. The Prover and Verifier then use their respective values during the proof phase. We emphasize that the following definition only models single-theorem proof systems (i.e., after setup, only one theorem of a fixed size can be proven).' Definition zo.i (Non-Interactive Proofs in the Secret/Public Parameter Model). A triple of algorithms, (9, P, V), is called a non-interactive proof system in the secret parameter model for a language L if the algorithm 9 is probabilistic 'While our definition only considers single-theorem proof systems, all of our results extend also to proof systems for an apriori bounded number of fixed-size statements. 20 3.I. NON-INTERACTIVE PROOFS IN THE TRUSTED SETUP MODEL 2I polynomial-time, the algorithm V is a deterministic polynomial-time and there exists a negligible function such that the following two conditions hold: * COMPLETENESS: For everyx E L Pr [ (sv, sp) (-(1); 7r -- P(x, sp) : V(x, sv, w) = 1] > 1 - (X[) * SOUNDNESS: For every x , L, every algorithm B Pr [ (sv, sp) - 9(1); 7r' - B(x, sp) : V(x, sv, r') = 1] < i(Ixl) If 9 is such that sv is always equal to sp then we say that (9, P, V) is in the public parameter model. Remark 2I.I. In our definition, as with the original one in [BFM88],the Verifier is modeled by a deterministic polynomial time machine. By a standard argument due to Babai and Moran [BM88],this choice is without loss of generality since a probabilistic Verifier can be made to run deterministically through repetition and the embedding of the Verifier's random coins in the setup information. Let NIP denote the class of languages having non-interactive proof systems. For the rest of this paper, we distinguish the secret parameter model from the public parameter model using the superscripts SEc and rub respectively. We start by observing that NIPPUBand NIPSEcare equivalent. Lemma 2I.I. AM=NIP PUB = NIPSEC For completeness, we provide a proof of this result below. Proof The lemma follows from the next three claims. Claim 2.I. AMC NIP'UB. Proof Let (A, M) be an Arthur-Merlin protocol for a language L. Consider the following NIPPUBprotocol, (, P, V) for L. Let 9 be defined according to A's first message. (Note that since (A, M) is a public coin protocol, this first message is independent of the statement.) Let P = M and V(x, v, 7r) be defined according to A's decision procedure given random coins sv, theorem x, and message r. The completeness and soundness follow directly from the l definition of (A, M); thus we conclude that L e NIPPUB. Claim 21I.2. NIP eUB C NIPSEC. Proof The claim follows directly from the definition. Claim zI.3. NIPECC AM [ NIZK: MODELS AND DEFINITIONS 22 Proof Let (9, P, V) be a NIPSECprotocol for the language L. Define the IP [2] protocol (P', V') as follows. On input x, V' runs (l1xI) to generate (sv, sp) and sends sp to P'. Then, P' runs P(x, sp) and sends the resulting proof 7rto V'. Finally, V' accepts iff V(x, sv, 7r) accepts. The soundness and completeness follow directly. By combining the results of Goldwasser and Sipser [Gs86] and Babai and Moran [BM88], we conclude that L is in AM. 3.2 Adding the Zero Knowledge Property to NI Proofs We next introduce non-interactive zero-knowledge proofs. In the original nonadaptive definition of zero-knowledge from [BFM88], there is one simulator, which, after seeing the statement to be proven, generates both the public string and the proof at the same time. In a later adaptive definition from [FLS99], there are two simulators--the first of which must output a string before seeing any theorems. The stronger adaptive definition guarantees zero-knowledge even when the statements are chosen after the trusted setup has finished.2 Here, we choose to present a weaker (and simpler) adaptive definition similar to the one used in [CDO4]. The main reasons for this choice are that (a) a weaker definition only strengthens our lower bounds and (b) our definition is meaningful also for languages outside of NP, whereas the definitions of [FLS99, GOLO4] only apply to languages in NP. Nevertheless, we mention that for languages in NP, our upper bounds (and of course the lower bounds) also hold for the stricter adaptive definitions of [FLS99, GOLO4]. Finally, we mention that the definitions still assume the Prover is unbounded. In later chapters, we shall present new definitions specially tailored to the case when the Prover algorithm is not unbounded 3 Definition 22zz.I (Non-Interactive Zero-Knowledge in the Secret/Public Parameter Model). Let (9, P, V) be an non-interactive proof system in the secret (public) parameter model for the language L. We say that (, P, V) is non-adaptively zero-knowledge in the secret (public) parameter model if there exists a p.p.t. simulator S such that the following two ensembles are computationally indistinguishable by polynomial-sized circuits (when the distinguishing gap is a function of xl) {(sv,sp) {((S'V I '7) (ln); 7r - P(sp,x): (svr) }zxeL S·X) NV I ) ziL We say that (, P, V) is adaptively zero-knowledge in the secret (public) parameter model if there exists two p.p.t. simulators S 1 , S2 such that the 2 One might also study an adaptive notion of soundness for non-interactive proofs. We do not pursue this line since every sound non-interactive proof system can be made adaptively sound via parallel repetition. 3 We will still only consider proofi where soundness must hold against unbounded adversaries. 3.3. THE HIDDEN BITS MODEL 23 following two ensembles are computationally indistinguishable by polynomialsized circuits. {(sv,sp) -{ (shi, aux) - (1n); r _-P(sp,x) : (v,7r) }EL S (n); 7r/ - S2 (x, aux) : (,7r t) }EL We furthermore say that (, P, V) is perfect (statistical) zero-knowledgeif the above ensembles are identically distributed (statistically close). For notation purposes, we will use NIZK, NISZK, and NIPZK to denote the class of languages having computational, statistical, and perfect non-interactive zero-knowledge proof systems respectively. 3.3 The Hidden Bits Model We shall find it useful in Chapters 4 and 5 to use the "hidden bits" model as described in [FLs99]. In this model, the Prover and Verifier share a hidden string R, which only the Prover can access. Additionally, the Prover can selectively reveal to the Verifier any portion of the string R. Informally, a proof in the hidden bits model consists of a triplet (7r, RI, I) where I is a sequence of indicies, I c {1, 2, ... , RI }, representing the portion of R that the prover wishes to reveal to the verifier, RI is the substring of R indexed by I, and 7ris a proof string. I is often called the set of revealed bits and 7r is often called the certificate. A formal definition from Goldreich [GOLOI]is presented below. Definition 23.1 (Non-interactive zero-knowledge Proofs in the Hidden Bits Model). A pair of machines, (P, V), is called an non-interactive proof system in the Hidden Bits model, for a language L, if the machine V is a deterministic polynomial-time and the following three conditions hold * COMPLETENESS: For every x L, Pr[V(x, r, I, RI) = 1] > 1 where (r, I) (Ixl) - P(x, R), R is a random variable uniformly distributed in {O,1}P1YO(Il'), andRi isthesubstringofRatpositions I c {1,2, ...,poly(lx)}. That is, RI = r,...,riand I = (il,..., n). * SOUNDNESS:For every x 0 L, and every algorithm B, Pr[(V(x, 7r,I, RI) = 1] < /s(Ixl) where (r, I) B(x, R), R is a random variable uniformly distributed in {O,1}POlY(Ixl), and RI is the substring of R at positions I c {1, 2,...,poly(Ixj)}. - * ZERO-KNOWLEDGE: Zero-knowledge is defined as in Definition 22.I except that every occurrence of (sv, 7r) should be replaced by {7r,I, RI}IEL. z4 24~ ~ NIZK: MODELS AND DERNMITONS NIK MOEL AN DEINTIN The following theorem is shown by Feige, Lapidot and Shamir. Theorem 23.I ([FLs99]). There existsa non-interactiveperfect zero-knowledgeproof system in the hidden bits modelfor any languagein NP. By using the standard technique of transforming an AMproof into the NP statement that "there exists a short Prover message which convinces the polynomial-time Verifier," their result can be extended to any language in AMas follows. Theorem 24.I. There existsa non-interactivepefectzero-knowledgeproofsystem in the hidden bits modelfor any language in AM. Proof Let (A, M) be an Arthur-Merlin protocol for a language L in AM. We construct non-interactive perfect zero-knowledge proof system (P, V) in the hidden bits model for L as follows. The Prover P proceeds as follows: i. Split the hidden string R into two parts R 1 , R 2 . 2. Compute the message 7r= A(x, R 1 ) (the message that A would have sent M on input R1 ). 3. Reveal R 1 to the Verifier. 4. Use R 2 with a non-interactive perfect zero-knowledge proof system (P', V') in the hidden bits model to prove the following NP statement: "There exists a message 7r such that AR 1 (x, 7r) accepts" (where AR1 denotes the output of A with random coins fixed to R1). By Theorem 23.I, such a system, (P', V'), exists. Completeness and soundness follow from the properties of the non-interactive perfect zero-knowledge protocol used in Step 3. To show that this protocol is zero-knowledge, we describe a simulator that proceeds as follows. First, randomly choose a message RS, and then run the simulator S' for (P', V') to produce (7r', R,, I'), a simulated proof for the statement in Step 3. Let I denote the indices of revealed bits and set it to the union of [1,..., IR I](to include all the revealed bits for R ) and I' (to include all of the revealed bits in the simulated proof). Let R denote the openings for bits revealed and set it to the union of R1 and RI. It follows from the facts that R' is uniformly chosen and that S' produces a perfect simulation, that the simulation by S is perfect. [ NIZK in the Public Parameter Model IN we restrict our study to the simplest setting in which only a single theorem is proven in the public parameter model. Also, we consider security against unbounded provers. (That is, we consider proof systems as opposed to argument systems.) Following similar studies in the interactive allow the honest prover setting-see for example [AD99, SV03, VAD04]-we algorithm to be inefficient (although some of our constructions have efficient prover algorithm for languages in NP). Our investigation also considers both adaptive and non-adaptive definitions of zero-knowledge for non-interactive proofs. Briefly, the difference between these two is that the adaptive variant guarantees that the zero-knowledge property holds even if the theorem statement is chosen after the trusted setup has finished, whereas the non-adaptive variant does not provide this guarantee. The first two sections of this chapter establish that one-way functions are both sufficient for computational NIZK protocols in this model, and are necessary to construct protocols for any non-trivial languages. By combining these two results, we obtain the following unconditional characterization of NIZK: THIS CHAPTER, Either NIZKPUB only contains "easy" languages (i.e., languages that are not hard-on-average), or it "hits the roof", (i.e., contains all of AM). We remark that such an all-or-nothing property was not possible before since the only constructions required one-way permutations instead of functions. Finally, in §4.3, we show various lower bounds for the case of statistical NIZK in this model. 26 4-I- CONSTRUCTION BASED ON A ONE-WAY FUNCTION 4.1. CONSTRUCTION BASED ON A ONE-WAY FUNCTION 4.I 27 27 Construction Based on a One-Way Function We show how to implement the hidden bits model in the public-parameter model based on a one-way function. Recall that [FLS99] implements the hidden bits model using a one-way permutation and a hard-core predicate. The reason for using a one-way permutation is to give the Prover a short certificate for opening each bit in only one way (the certificate being the pre-image of the one-way permutation). A similar technique fails with one-way functions since a string may have either zero or many pre-images, and therefore a malicious Prover may be able to open some hidden bits as either zero or one. Another approach would be to use a one-way function in order to construct a pseudo-random generator [HILL99], and then to represent a o value as a pseudorandom string and a I as a truly random string (in some sense, this technique is reminiscent of the one used by Naor for bit commitment schemes from pseudorandom generators [NAO9I]). The Prover can thus open a o value by revealing a seed to the pseudo-random string. However, there is no way for the Prover to convince a Verifier that a string is truly random. We overcome this problem by forming a reference string consisting of pairs of 2k-bit strings, (a, /3)in which exactly one of the two strings is pseudo-random while the other is truly random. More precisely, the o-value is encoded as a pair in which a is generated pseudo-randomly by expanding a k bit seed into a 2k bit string, while /3 is chosen uniformly at random from {O, 1}2 k. The -value is encoded the opposite way: a is chosen randomly, while /3 is generated pseudorandomly. The Prover can now reveal a o or a I by revealing the seed for either a or /3. Lemma 27.I. Assume the existence of one-way fiunctions. Let (P, V) be a noninteractive (adaptive) zero-knowledgeproof systemfor the language L NP in the hidden bits model. If P is an efficient prover, then, there exists a non-interactive (adaptive)zero-knowledge proof system(P', V') for the languageL in the public parameter model. Proof Let (P, V) be an NIZK proof system in the hidden bits model, let G {0, 1}k __ {O, 1}2k be a pseudo-random generator and let L E NP be a language with witness relation RL. Consider protocol 27.I. PROTOCOL 27.27.I: NIZK PROOF SYSTEM IN THE PUBLIC PARAMETER MODEL Common Input: an instance x E L and a security parameter In Public Parameter set-up: I. -(ln)s, where ? proceeds as follows: Select m random bits a = Ol, ... , a,r. 28 NIZK IN THE PUBLIC PARAMETER MODEL 28~~~~ 2. NIKI H ~ ULC AAEE OE For each i [1, m], generate two strings ai and pi as follows: ai k. G(vi) where vi is a uniformly chosen string of length 32 or 3. LetT~ -r 3 i 4. Output {O, 1}2k (ai, O/) if ri = 1 (,3i, ai) otherwise = Tl,..., Tm. Prover'salgorithm:On input x, s, I. Compute R = ,... , Cm from s by the following procedure. Parse s into m pairs (al, bl),.. , (am, bm). For each pair (ai, bi), determine (in exponential time) which of either ai or bi are pseudo-random (i.e, in the range of G). In the former case, set vi = 0, and in the latter, ai = 1, and let vi denote the seed used to generate the pseudo-random value. If both ai and bi are in the range of G, then output abort. 2. Compute the lexographically first witness w satisfying RL(X, w). 3. Run the Prover algorithm (r, RI, I) -- P(x, w, R). Recall that the set RI consists of bits {r I i [1,m]. E I} and I consists of indices in 4. Output (r, RI, I, {vi I i E I}). Verifier'salgorithm:On input (x, r, RI, I, {vi Ii c I}) I. Verify each opening in RI is consistent with s and vi. Parse s into m pairs (a, ba),.. .,(am, bm). For each i I, run t - G(vi) and if t = ai, set vi = 1, if t = bi, then set ai = 0 (if neither or both conditions are met, then reject the proof). Finally, verify that ri = ai. 2. Run the Verifier algorithm V(x, r, RI, I) and accept iff V accepts. Completeness follows from the corresponding completeness of (P, V) and the fact that P' aborts only with negligible probability. COMPLETENESS Assume for the moment that a cheating prover P'* is only able to open R in one manner. In this case, the soundness of (P, V) carries over to (P', V') in the same way as in Lemma 36.i. All that remains is to show that R can only be opened in one way. Below, we argue that this happens with high probability. SOUNDNESS 29 4.IL CONSTRUCTION BASED ON A ONE-W~AYFUNCTION 4..CNTUTO AE O N-A UCIN2 Note that there are a maximum of 2n pseudo-random strings in G's support. On the other hand, there are 2 2n strings of length 2n. Therefore, a randomly sampled length-2n string will be pseudo-random with probability at most 2 - . Thus, for any pair (ai, bi), the probability that both values are pseudo-random is at most 2 -' . By the union bound, the probability that there is one such pair in s is upper-bounded by n2-. S' = S, S2 for (, P', V') which uses the simulator S for (P, V) as a subroutine. First, (, aux) - S(1n) generates s as a sequence of pairs (i, /3i) in which both a and are pseudorandom. The aux value contains all of the seeds, ui, wi, for the pseudo-random values ao and 3 respectively. The simulator S2 works by running simulator S(x) ZERO-KNOWLEDGE We present a simulator to generate (r', R, I) S-(x) and then outputting (r', R, I, {v' Ii I}) where v' equals ui if ri = 0 and wi otherwise. In order to show the validity of the simulation, consider the following four hybrid distributions. * Let H 1 denote the ensemble (s, 7r) in which the honest Prover runs on a string s generated according to 9. * Let H 2 denote the output of the above experiment with the exception that 9 provides all pre-images {vi} to an efficient prover algorithm Peff' which also receives the lexographically first witness w for x and then only runs Step 3 and 4 of P"s algorithm. * Let H 3 denote the output of the second experiment with the exception that s is generated by SI (1n), and that furthermore, SI (1 n ) gives either ui or wi (randomly chosen) to Peff for all i E [1, m]. * Let H 4 denote the output of the third experiment with the exception that 7ris generated by S2(x, aux) and ui, wi in aux is given to Peff. Notice that this distribution corresponds exactly to the output of S'. In order to show the validity of the simulation, we need to show that H1 and H 4 are indistinguishable. First, notice that H1 and H 2 are identically distributed. The two claims below combined with the triangle inequality complete the proof. Claim 29.a. H 2 is computationally indistinguishablefrom H 3 . Proof Suppose, for contradiction, that the efficient algorithm D 3 distinguishes H 2 and H 3. We construct a new (non-uniform) distinguisher D3 which distinguishes between an n-tuple of pseudo-random strings and an n-tuple of random strings (a standard hybrid between these two n-tuples can be then used to contradict the pseudo-randomness of G). The non-uniform D 3 proceeds as follows (given the statement x and the lexographically first witness w as advice): On input an n-tuple q = (ql, . . . , q,), executethe experimentdefinedin H 2, but replace the truly random values in each pair of s generated by 9, by the n values in q. In other words, if in the ith pair (ai, bi)-say ai was pseudo-random-then NIZK IN THE PUBLIC PARAMETER MODEL NIZK IN THE PUBLIC PARAMETERMODEL 30 30 replace bi with q. Finally, D3 runs the distinguisher D 3 on the output of the experiment. We start by observing that if q is pseudo-random, then the output of the experiment run by D3 is identically distributed to H3 . On the other hand, if q is truly random, then the same is identically distributed to the experiment in H 2 . Therefore, D3 distinguishes n-tuples of pseudo-random values from n-tuples of [] truly random values with the same advantage as D3. Claim 30.x. H 3 is computationally indistinguishablefrom H 4. Proof Suppose, for contradiction, that the efficient algorithm D 4 distinguishes H3 and H4. We construct a new distinguisher D4 which breaks the zeroknowledge property of (P,V). On input (x, r, R, I), D4 executes the experiment in H3 , and runs D 4 on the output from that experiment, with the exception that the proof is replaced with (x, r, RI) and an opening set {vi} is generated for RI using the values provided by S 1 in the H3 experiment. Notice that if the input comes from a simulator S, then the output of this distribution corresponds exactly to H3 . On the other hand, if the output comes from a real Prover, then the distribution corresponds to H3 . Therefore, D 4 breaks the [1 simulator S with the same advantage as D 4 . El Remark 30.i. Note that we explicitly require two properties from the NIZK proof system (P, V) in the hidden bits model: first, that P is an efficient Prover, and secondly, that the zero-knowledge property is defined for non-uniform distinguishers. Both of these requirements stem from the fact that the Prover in our new protocol is unbounded, which creates complications in the hybrid arguments. We thus obtain the following characterization: finctions exist, thenfor both adaptive and Theorem 30.1. If (non-uniform) one-wayJ non-adaptive definitions ofzero-knowledge, NIZI u B = NIPUB =AM. Proof By Thm. 23.i and Lemma 27.I, NP C NIZKPUB. Using techniques from the proof of Thm. 24.I, we can extend this result to show that AMC NIZKPUB. El By definition, NIZKvt C NIPPUB.Finally, by Lemma 2I.i, NIPPUB =AM. 4.2 One-Way Functions Are Necessary We proceed to show that (non-uniform) one-way functions are necessaryfor noninteractive zero-knowledge for "hard" languages. This stands in contrast to the secret parameter model where unconditional results are possible. Theorem 30.2. If there existsa non-adaptiveNIZK proof systemfor a hard-onaveragelanguage L, then (non-uniform) one-wayfunctions exist. 4.2. ONE-WAY FUNCTIONS ARE NECESSARY 31 Proof Let (, P, V) be a non-adaptive NIZK system for L in the public parameter model and let S be the simulator for (P, V). Furthermore, suppose that L is hard-on-average for the polynomial-time samplable distribution G. Now, consider the following two distributions: G(1') (x, sV)} {(SV, sp) -- 9(ln), x {((s Tr) S(x, ln), x (4) G(1 n ) · (X, s)) (4-2) We show that the above distributions are (non-uniformly) computationally indistinguishable, but statistically "far". By a result of Goldreich [GOL9o] (relying on [HILL99]) the existence of such distributions implies the existence of (nonuniform) one-way functions. Claim 31.1i. The distributions (4.i) and (4.2) are computationally indistinguishable. Proof We first note that conditioned on x being a member of language L, the above distributions are computationally indistinguishable by the zero-knowledge property of (P, V). It then follows from the hardness of L that the above distributions must be computationally indistinguishable, even without this restriction. We proceed to give a formal proof for the above intuition, by closely following [vAD99] (See Claim 4.8.7 therein) which provides a proof for a similar statement. Let the joint random variable (X,, S3) be distibuted according to distribution (4.I). Analogously, let the joint random variable (X4, S 4) be distributed accoring to (4.2). Consider any a non-uniform probabilistic polynomial-time distinguisher D. We show that the following expression is negligible: IPr[D(X, S) = 1] -Pr[D(X 4, S 4 ) = 1]1 For ease of notation, we shall write abbreviate the conditional probability Pr[D(X/, ) = 1IX E L] as [DilX i L . Thus, the above expression can be written as ID3 - 41 = ([D 3lX3 E L] + [D3 lX = I([D31X. E L]- [D4 IX ¢ 4 E L) - ([D 4 IX 4 E L] + [D3 lX 4 L]) + ([D3 1X3 L]- [D4 IX 4 ¢ ¢ L])I L])j (*) Recall that the zero-knowledge property of (P, V) guarantees that [D 3 IX3 E L]- [D4 JX 4. e L]I < (n) for some negligible function it(n). Therefore, by substituting and adding a positive amount to the right-side, and for some negligible function ,('(n) we can rewrite (*) as D3 - 4 (n) + ([D3 IXn ¢ L] -[D 4 IXn L]) + ((n) -[D 3lX3 E L] + [D4 lX 4n e L]) 3 < 2(n) + ([D3 lX ¢ L]- [D3 IXn E L]) + ([D4 X 4 E L] - [D4 Xn4 ¢ L]) 41< < 2(n) + 2A n) NIZK IN THE PUBLIC PARAMETER MODEL 32 where the last inequality follows from the fact that L is hard-on-average, and so any polynomial-time distinguisher has at most l't(n) advantage in deciding an [ element which has been sampled from G(ln). Claim 32.. The distributions (4.I) and (4.2) are not statisticallyindistinguishable. Proof We show that the distributions (4.) and (4.2) are statistically "far" conditioned on instances x ¢ L. It then follows from the fact that L is roughly balanced over G (due the hard-on-average property of L over G) that (4.I) and (4.2) are statistically "far" apart. Note that on instances x , L, the soundness property of (P, V) guarantees that very few strings generated by 9 have proofs which are accepted by the Verifier (otherwise, a cheating prover can, in exponential time, find such proofs and thereby violate the soundness condition). On the other hand, since L is hard-on-average, and since S runs in polynomial time, most of the strings sv generated by S have proofs which are accepted by V (otherwise, S can be used to decide L). Therefore, the distributions (4.) and (4.2z)are statistically far apart, E] conditioned on instances x ¢ L. [] 4.3 Lower bounds for Statistical NIZK In this section we present severe lower bounds for the class of statistical NIZK in the public parameter model. (This stands in stark contrast to the secret parameter model, where statistical NIZK can be obtained for all of AM.) We first present a lower bound for statistical NIZK under the non-adaptive definition of zeroknowledge. We thereafter sharpen the bound under the more restrictive adaptive definition. The Non-Adaptive Case In analogy with the result by [AH9I] for interactive zero-knowledge, we show that only languages in the intersection of AMand coAM have statistical NIZK proof systems in the public parameter model. Theorem 32.1. If L has a statisticalnon-adaptiveNIZKproof systemin the public parameter model, then L C AM n coAM. Proof Let (, P, V) be a statistical NIZK proof system in the public parameter for the language L with simulator S. We show that L E AM and that L E coAM. The former statement follows directly from Lemma 2I.I. To prove the latter one, we present a two-round proof system for proving x ¢ L. (Note that by the results of [GS86, BM88] it is sufficient to present a two-round private coin proof system.) Verifier Challenge: 4-3.4.3. LOER BOUNDS FOR LOWERBOUNDS FO STATISTICAL NIZK STATISTIAL NIZK 33 3 I. Run the simulator (ao, 7r') - S(x) and the sampling algorithm al - D(1llxl) to generate public parameter strings ao and al. 2. Run V on input (o, 7r') to check if the honest verifier accepts the simulated proof. If V rejects, then output "accept" and halt. 3. Otherwise, flip a coin b E 0,1 and send a = Ub to the prover. The Prover response: I. Upon receiving an input string a, check if there exists a proof 7r which the honest verifier V accepts (i.e., V(x, ca,7r) = 1). 2. If so, output3 = 0; otherwise,output /3= 1. The Verifieracceptance condition: I. Upon receiving string otherwise. 3, output "accept" if = b, and reject We show that if x ¢ L, then the Prover (almost) always convinces the Verifier. If the Verifier sent the string u, the Prover always responds with ,3 = 0, which makes the Verifier always accept. This follows since the Verifier only sends ao if the simulated proof was accepting, which implies that there is at least one accepting proof of x E L for (P, V). If the Verifier sent the string al, then by the soundness of (P, V), the probability (over the coins of the Verifier) that there exists a proof for x c L is negligible. Therefore, except with negligible probability, the Prover responds with 3 = 1 and the Verifier accepts. COMPLETENESS Intuitively, this protocol relies on the same logic as the graph nonisomorphism protocol. If x L, then the (exponential time) Prover cannot distinguish whether a was generated by the simulator or by the sampler 9, and therefore can only convince the Verifier with probability 1/2. This follows from the statistical zero-knowledge property of (P, V). It only remains to show that the probability (over the random coins of the Verifier) that the Verifier accepts statements x L in step (2), without further interaction, is negligible. This follows from the zero-knowledge (and completeness) property of (P, V). Otherwise, V would distinguish between simulated proofs and real ones (since by completeness, the honest prover P succeeds with high probability.) [1 SOUNDNESS Remark 33.I. Using techniques from the proof of Thm. 32.1, one can show that the class NISZKUB reduces to the problem of Statistical Difference, which is complete for SZK [svo3]'. Thus, an alternative way to prove this theorem would be to present such a reduction and then invoke the results of [AH9I]. 'This should be contrasted with Statistical Difference from Random and Image Density, which are the complete problems for NISZK in the Common Random String model. These problems are not known to be reducible to Statistical Difference NIZK IN THE PUBLIC PARAMETER MODEL 34 NZ NTEPBI 34 AAEE OE The Adaptive Case In this section we sharpen our results from the previous section by showing that under the adaptive definition of zero-knowledge, NISZK is contained in BPP/i, i.e. the class of languages decidable in probabilistic polynomial time with one AAbit of advice (which depends on the length of the instance). Note that this class of languages is decidable by (deterministic) polynomial-sized circuits. If L has a non-interactive adaptive statistical zero-knowledgeproof in thepublicparametermodel4thenL c BPP/1. Theorem 34.I. Proof Let (, P, V) be a non-interactive adaptive statistical zero-knowledge proof system for L with simulators Si and S2. We first observe that by the statistical zero-knowledge property, for every n for which L contains an instance of length n, the output of S1i(1n) must be statistically close to the output of g(1n). This follows because the output of Si (1n) is independent of the theorem statement. This observation suggests the following probabilistic polynomial time decision procedure D(x) for L, which obtains a one-bit non-uniform advice indicating whether L contains any instances of length xl. On input an instance x, I. If the non-uniform adviceindicates that L contains no instances of length Ixl, directly reject. 2. Otherwise, run (a', aux) 3. Run 7r' - - S (11Ix) to generate a public parameter. S 2 (x, aux) to produce a putative proof 4. Run V(x, ao',7r') and accept iff V accepts. Note that when x e L, then D accepts with overwhelming probability due to the completeness and zero-knowledge property of (9, P, V). If x ¢ L and there are no instances of length xl in L, then D always rejects due to the non-uniform advice. It remains to show that when x ¢ L, and there exists instances of length xl in L, then D rejects with high probability. Assume, for sake of reaching contradiction, that there exists a polynomial p(.) such that for infinitely many lengths n, L contains instances of length n yet there exists an instance x 0 L of length n, such that Pr (a',aux) S- 1(lll); r' - S2(x,aux): V(x,a',')=1 > (4.3) We show how this contradicts the fact that the output of S1 and are statistically close (when L contains instances of length n). By the soundness of (, P, V), there exists a negligible function ,u such that for any unbounded prover P*, Pr [a - (1Zl); 7r'.- P*(x,o') V(x,a, r') = 1] < tt(Ixl) (4-4) 4.3. LOWER BOUNDS FOR STATISTICAL NIZK 35 Consider an exponential time non-uniform distinguisher C, which on input a" (and advice x), enumerates all proof strings 7r' to determine if any of them convince V to accept x. If so, C outputs o, and otherwise outputs I. If a" is generated by S1, then by (4.3), such a proof string r' exists with noticeable probability. On the other hand, if a" comes from 9, then by (4.-4), such a proof string only exists with negligible probability. We conclude that C distinguishes the output of S1 from that of 9 with a non-negligible advantage. [] NIZK in the Secret Parameter Model "...the difficulties that confront a conspirator are infinite ...because he who conspires cannot act alone, nor can he take a companion except from those whom he believes to be malcontents, and as soon as you have opened your mind to a malcontent you have given him the material with which to content himself, for by denouncing you he can look for every advantage..." Nicolo Machiavelli, The Prince, Chap. XIX the previous chapter, we show how to implement the hidden-bits model using a one-way function in the public parameter model. Combining this result with the NIZK protocol of Feige, Lapidot and Shamir [FLs99] led to our constructive result. Our implementation of the hidden bits model, however, degrades the quality of zero-knowledge-in particular, the resulting protocol is only computational zero-knowledge. In this chapter, we show how to avoid this degradation in the secret parameter model. Let us briefly recall the secret parameter model. N Cramer and Damgard [CDO4] explicitly introduce the Secret Parameter setup model in which the Prover and Verifier obtain correlated (possibly different) private information. More generally, the secret parameter model encompasses the Pre-processing Model in which the Prover and Verifier engage in an arbitrary interactive protocol, at the end of which, both Prover and Verifier receive a private output. (This follows because any arbitrary protocol for pre-processing can be viewed as a polynomial-time sampler from a well-defined distribution.) Such a setup model is studied in [KMO89,DMP88, DAM93]. SECRET PARAMETERSETUP. 36 5.I. CONSTRUCTION (UNCONDITIONAL) 5.I 37 Construction (Unconditional) Lemma 36.1. Let (P, V) be a non-interactive perfect zero-knowledgeproof system for the language L in the hidden bits model. Then, there exists a non-interactive perfect adaptive zero-knowledgeproofsystem (P', V') for the language L in the secret parametermodel Furthermoreif (P, V) has an efficientprover,then (P', V') has one as well. We implement the hidden bits model by providing the Prover and Verifier correlated information about each bit of the hidden string. In particular, each bit is split into shares using a simple secret sharing scheme. The Prover is given all of the shares, but the Verifier is only given a random subset of them. (The particular subset is unknown to the Prover.) This is done in such a way that the Verifier has no information about the bit, but nonetheless, the Prover cannot reveal the bit in two different ways except with exponentially small probability. We note that this technique is similar to the one used in [L88] to obtain commitments from oblivious transfer and to the one in [KMo89]to obtain NIZK with pre-processing (we remark that their resulting NIZK still requires additional computational assumptions, even when ignoring the assumptions necessary for their pre-processing). Our protocol is described below. PROTOCOL 37.37.i: NIZK PROOF SYSTEM IN THE SECRET PARAMETER MODEL Common Input: an instance x of a language L with witness relation and : security parameter. Secret Parameter Setup: (ln) -* RL (sp, sv) proceeds as follows on input 1n: I. (Pick a random string) Sample m random bits, 2. a = e1,.. , am. (Generate XOR shares) For i c [1, m] and j c [1, n], sample a random bit Tf. Let Ti' = a® . (Notice that the n pairs (I, T!) for j E [1, n] are n random "XOR shares" of the bit ai.) 3. (Select half of each share) For i c [1, m] and j random bit bn. Let pi' as follows: { E [1, n], sample a otherwise (In other words, the values {pi } are randomly selected "halves" from each of the n XOR shares for ai.) NIZK IN THE SECRET PARAMETER MODEL 38 38NZ NTESCE AAEE OE 4. The private output sp is the set of nm pairs (,' ) for i,j E [1, m] x [1, n]. Note that the string a is easily derived from sp. 5. The private output sv is the set of nm pairs {(pi, b)} for i, j E [1,m] x [1,n]. Prover algorithm:On input (x, sp), I. Compute R = l, . . ., am by setting ai = r/ EDA. 2. Run the algorithm (r, RI, I) -- P(x, R). Recall that the set RI consists of bits {ri i I} and I consists of indices in [1, m]. 3. Output (r, RI, I, {oi I i E I}) where oi denotes the opening I, oi consists of all n shares of bit ai. That is, for all i ((, 7), · ,(, Tn))of a,. Verifieralgorithm:On input (x, sv, 7r,RII,, {oii I), I. Verify that each opening in RI is consistent with oi and with sv. That is, for i c I, inspect the n pairs, (, ), .. , (n, T) in oi, and check that for all j E [1,n], p' is equal to either q or T (depending on whether by = 0 or 1 respectively). If any single check fails, then reject the proof Finally, check that ri = T GDl. 2. Verify the proof by running V(x, RI, I, 7r) and accept if and only if V accepts. Proof Let (P, V) be a non-interactive zero-knowledge proof system for the language L which requires a hidden-bit string of length m. Consider the new proof system (9, P', V') in the secret parameter model described in protocol 37.I. COMPLETENESS Completeness follows from the completeness of the (P, V). Assume, for contradiction, that there exists a cheating prover P'* that succeeds in proving a statement x with non-negligible probability. We show how to convert P'* into a cheating prover P* for (P, V). P* internally incorporates P'* and proceeds as follows: on input x, R: SOUNDNESS i. Generate sp, sv in a random way that is "consistent" with R (i.e., run step 2-4 in description of 9, using R in place of a). 2. Run P'*(x, sp) - (x, RI, I, rr,{oi}) 3. Output (x, RI, I, 7r) where r consists of the opening certificates for each bit in RI. 5.I. CONSTRUCTION (UNCONDITIONAL) 39 Assume for the moment that the R 1 generated by P*' is always consistent with R. We then claim that P* convinces the verifier V with non-negligible probability. Since the distribution of sp produced in Step I is identical to the output distribution of 9 (since the input R is chosen in the same way as a), the simulated view of P*' is perfect. Therefore, using our assumption on RI, P*' succeeds in outputting a proof that convinces the honest verifier V with nonnegligible probability. This follows from the fact that the second step of V' includes running V, and therefore if V' accepts with non-negligible probability, then V must also accept with non-negligible probability. Recall that the above argument relied on the fact that RI is always consistent with R. Below, we show that conditioned on the verifier accepting, R is inconsistent with R with negligible probability, which concludes the proof of soundness. Claim 39.I. x Let (x, RI, I, r) be the output of a proveron input (x, R) such that L and (x, RI, I, 7r) is accepted by the honest verifier Then RI is inconsistent with R with negligible probability Intuitively, since the Prover does not know which of the two bits that the Verifier knows for any given share, it cannot succeed in cheating on any single share with probability greater than 1/2. Since each bit is represented by n sharings, the probability that the Prover can open any ai in two different ways is less than 2 - . More formally, assume that P*' generates an RI that is inconsistent with R with non-negligible probability. This means there is a specific index i in which they are inconsistent: in other words, let r' denote the ith bit revealed in RI and let ri be the ith bit in R; then r $Ari with non-negligible probability. This intuitively means that P*' can predict the n bits b, . . ., bi with nonnegligible probability-indeed, these values are computable sp and the sharings in oi. However, since P*" 's view is independent of bl,. . . , bi, and since they can take 2 n different values, we reach a contradiction. The simulator for our proof system proceeds as follows: first run the simulator for (P, V) on x to generate (r', R, I'). Then use the procedure in steps 2-4 of 9 to generate a pair (sv, sp) which is consistent with R', and Step 3 of P"s algorithm to generate a set of openings {oi i ci I}. Finally, output (sv, 7r', R', I', {oi}). Since the simulation of (P, V) is perfect and since the generation of sv and {oi} is also perfect, we conclude that simulation is ZERO-KNOWLEDGE perfect. [ Armed with this Lemma, we can now prove our main theorem concerning non-interactive zero-knowledge in the secret parameter model. Theorem39.i. N/PsEc = NIZKEC = NISZKsEc = NIPZK sEc =AM 'In particular, (based on standard information theory argument) this implies that P*' is a program which can compress a string of 3n bits (the sharings of ai and the bits bb, b) in less than 3n + 1 bits. 40 NIZK IN THE SECRET PARAMETER MODEL Proof NIPZKSEC C NISZKSEC C NIZK s EC C NIPSEC follows by definition. Lemma 2zI.i shows that NIPSEC =AM, therefore, it suffices to show that AMC U NIPZKSEC.This follows by combining Lemma 36.I and Thm. 24.1. We note that Lemma 36.1 also gives an upper bound on the class of perfect zero-knowledge proofs in the hidden bits model. As a corollary, we obtain the following characterization. RELATED CHARACTERIZATIONS Corollary 40.I. The classofperfect zero-knowledgeproofi in the hidden bits model equalsAM. Proof By Thm. 24.I, the class of perfect zero-knowledge proofs in the hidden bits model contains AM. For the opposite containment, let L be in the class of languages with perfect-zero knowledge proofs in the hidden bits model. By Lemma 36.i, language L is contained in NIPZKSEc,and thus contained in NIPSEC which is equal to AMby Lemma 2I.i. E] 6 NIZK in the Designated Verifier Model N this chapter we study an asymmetric case of the secret parameter model in which Prover and Verifier receive a public parameter, and in addition, the Verifier receives a secret one. Later, Verifier uses the secret information to verify any proof produced by the Prover. Such designated verifier proof system [jsi96] have been considered before. To be concrete, the non-malleable encryption scheme of Cramer-Shoup [cs98, CS02] can be interpreted as making use of designated verifier proofs based on specific number-theoretic assumptions. The main technical result of this chapter is to show that designated verifier non-interactive zero-knowledge proofs can be constructed from any semanticallysecure cryptosystem. Our overall approach is to crush a 3-round E protocol into a one-round proof by having the prover encrypt all possible third-round responses to the verifier's challenge. Because we use a E protocols in which the verifier's challenge is a single bit, this approach is feasible and results in short proofs. Then notable benefit of this approach is that the only complexity assumption we need is the existence of a semantically-secure encryption scheme. It has been recently pointed out that Camenisch and Damgird construct a similar protocol in [CDoo] to construct an interactive Verifiable Encryption scheme. 6.I Definition In the designated verifier model, every non-interactive proof system has an associated polynomial-time sampleable distribution ? over binary strings of the form (P, sp). During a setup phase, a trusted party samples from 9, publishes 42 6.1. DEFINITION 6.I. DEFINITION 43 4 PP and privately hands the Verifier sP. The Prover and Verifier then use their respective values during the proof phase. This definition is very similar to the definition of NIZK proofs in the secret parameter model . The difference between the secret parameter model this definition is that, whereas in the secret parameter model, the prover might be given some secretinformation, we insist that this not be the case. Definition 43.1 (Designated Verifier Non-Interactive Zero-Knowledge Proof System). A triple of algorithms, (, P, V), is called a designated verifier noninteractive zero-knowledge proof system for an NP-language L with witness relation RL, if the algorithms 9 and P are probabilistic polynomial-time, the algorithm V is deterministic polynomial-time and there exists a negligible function g such that the following three conditions hold: * COMPLETENESS:For every (x, w) e RL Pr [ (PP, P) - (11lX); 7r - P(PP, x,w) : V(PP, P,x,w) = 1 ] > 1-(Ixl) *SOUNDNESS:For every prover algorithm B Pr [ (PP, sP) - R(11x1); (x', r') - B(PP, x); ' L A V(PP,SP, x', 7r') = 1 ] < l(xl) * ADAPTIVEZERO-KNOWLEDGE: For every p.p.t. theorem chooser A, there exists a p.p.t. simulator S = (S1, S 2 ) such that the outputs of the following experiments are indistinguishable. ExptA(k) Expts(k) k) SP ) (1 (x, w) - A(PP) (PP, -r P(PP, x, w) (PP, SP,STATE) -- S1 (1k) (x, w) - A(PP) 7r' S 2 (PP, SP, x, STATE) If (x, w) 0 RL, output 1 If (x, w) ~ RL, output Else output (PP, sP, x, r) Else output (PP, sP, x, 7r') REMARKS: I. This definition of NIZK is well-suited for constructing encryption schemes because we only require the decryptor, who also chooses the public key, to be able to verify the proofs-in contrast to standard NIZK proofs, these are so-called "designated verifier" proofs. The Cramer-Shoup cryptosystem and its generalization via smooth-projective hash functions also employ these types of proofs. 2. Note that Definition 43.i requires that the Verifier V is a deterministic machine. This extra restriction is only used to simplify the exposition of our constructions. NIZK IN THE DESIGNATED VERIFIER MODEL OE 44 44 NIKI H EINTDVRFE 6.2z Construction Based on Semantically-Secure Encryption Before giving a high-level view of our protocol, let us briefly recall the structure of a 3-round honest-verifier zero-knowledge proof of knowledge for NP such as Blum's Hamiltonicity protocol. The protocol consists of four algorithms, (P 1 , P 2 , V1 , V2 ) (a, s) +_ P1(x, w) a b Cb Vl(x,a) where b ER {O, 1} P2 -- (s,b) V 2 (a, b, cb, x) P computes a message a based on the statement x and witness w, V challenges with a random bit, and P responds with co or Cl. If x E L, then V 2 (a, b, Cb, x) L, then for any a, accepts for all b {0, 1}. On the other hand, if x V 2(a, b, z, x) accepts for at most one b c {0, 1}. Moreover, there is an efficient algorithm E that extracts a witness for x, given (a, co, cl). prover receives k pairs of public encryption keys as the public parameter. The verifier receives the same k pairs, but in addition, receives the secret for exactly one key in each pair. A proof consists of k triples. To generate the ith triple, the prover runs s-protocol using both 0 and 1 as the verifier's challenge to produce a triple (ai, co,i, cl,i). The prover encrypts this triple as (ai, Encpc.i(co,i), EnCPKl (l,i)). To verify the proof, V considers each triple (ai, ao,i, al,i) by decrypting either the second or third component using the secret key he knows, and then running the s-protocol verifier on (ai, fi, Decaf1 ,i). CONSTRUCTION SUMMARY.The Theorem 44.I. Assume there exists a semantically secureencryption scheme. Then there existsa designatedverifier NIZKproofsystem for any languageL E NP. Proof Let (Gen, Enc,Dec) be a semantically secure encryption scheme. PROTOCOL 44.44.I: MODEL NIZK PROOF SYSTEM IN THE DESIGNATED VERIFIER Designated VerifierSetup 9 ( k). I. For i = 1, .. ., k andb = 0,1 run pki, si4) -Gen(lk) to getk key-pairs (PK, sK'). 2. Flip coins fi -{0, 1} for i =1,..., k. 6.2. CONSTRUCTION BASED ON SEMANTICALLY-SECURE ENCRYPTION )]_ 1 and sPdvf [fisK fi] k 1. Output 3. Define Ppdv f [(P4 , (PPd, 45 SPdv). Prover P(Pdv, x, w). For i = 0, .. , k, run the 3-round protocol with independent random coins as follows (ai,si) -Pl (x,w) P2 (s, b) for both b =0,1 -- EnCPKb,i(Cb,i) for b = O 1. Cb,i ab,i def and output 7r = [(ai, ao,i, al,/)]i1 Verifier V(Ppdv, sPdv, x, 7r). i. Parse 7r into k triples of the form (ai, ao,i, al,i). 2. For i = 1,..., k, compute mi dlef verifierV 2(ai, fi, mi). 3. If all k proofs are accepted, output DecsK (afi,i) and run the ACCEPT, else output REJECT. Now, we prove that (, P, V) constructed above is a designated verifier NIZK proof system. The completeness property follows from the completeness of the 3-round E protocol. Proposition45.x. (, P, V) is sound Proof Our protocol is sound for the same reason that parallel-repetition of the Eprotocol is sound: when x V L, a prover's ability to produce an accepting proof is equivalent to producing a k-bit value f, which is information-theoretically hidden. In the following probability analysis, B' represents an adversary which runs B, extracts d from the resulting proof and outputs (, x) instead. Pr [(PPdv, SPdv) - < Pr [(PPdV,SPdv-) ; (, x) - B(PPdv) : ; (a, x)- L A V(PPdv, Spdv,7r, x) = 1] B'(PPdv) : x LA 3 / V2 (ai, fi, mi, x)= 1] i < Pr [(PPdVsPdv)- ; (, x) - B'(PPdv);b- (d) : b= fl < 2- k The first inequality follows because whenever B succeeds, the encryptions in 7r must correspond to some plaintext messages mi. The second inequality follows from the special soundness property of Eprotocols: if x L, then for every a, V2 (a, b,, x) accepts for at most one' 'Technically, we must also handle the case when there is no b such that V2 (a, b, , x) accepts. Of course, this implies that the probability of the verifier accepting a proof containing a is o. 46 NIZK IN THE DESIGNATED VERIFIER MODEL NIZK iN THE DESIGNATED VERIFIER MODEL~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 46 b {0, 1}. Thus, when z ¢ L, there is a computable function Vx mapping d to the unique vector of bits b = (bi,... , bk) for which AV 2 (ai, bi, mi, x) = 1 (for some mh). Because there is only one such b, when x g L and V accepts, the vector f used by V to check the proofs must coincide with b. The third inequality follows because by construction, PK is informationtheoreticallyindependentof f = (fl,-- , fk). In other words, for any vector : (f, PK) = (, PK)] = 2 - k . This of bits b= (bl, ... , bk), Pr[(PPdv,SPdv) -9 immediately implies that for any algorithm B": ppdv +{O0, 1} k (in particular, the algorithm which runs B' and applies o to the output), Pr[(PPdv, SPdv) +- 9; b +- B"(PPdV ) b= < 2-k. ] Proposition46.i. (9, P, V) satisfiesadaptivezero-knowledge. Proof At a high level, adaptive zero-knowledge follows from the zero-knowledge of the 3-round E protocol and the semantic security of the encryption scheme. For any theorem-choosing algorithm A, we construct a simulator S = (S 1 , S2) that works as follows. SIMULATOR (S1, S 2 ) FOR DESIGNATED VERIFIER NIZK S (lk): Follow the instructions of the sampling algorithm 9 (1k) and output (PPdv, SPdv, e). S2(PPdv, SPdv, X, STATE) For each i = 1,. . , k, repeatedly run the E-protocol simulator S to produce transcripts (ai, bi,Cb1 ) until bi = fi. Output the proof 7r [ai, Encpre((1 - bi)' Cbi), EncpK1(bi cbi )] ad xp~ar iditigisabew Toshw ha heditrbtinsinEXt To show that the distributions in ExptA and Expt' are indistinguishable, we present the following series of games. Game o: Same as EXptAexcept 9 is replaced by S1. Game 1 through k: Same as Game o, except that in the first i triples of the proof 7r, the ciphertext ah-f is replaced by EncpKi(0). Game k + 1 through 2k: Same as Game k, except that the first i triples of the proof 7r are generated by S2 and and the remaining k - i proofs are generated by P. 6.2. CONSTRUCTION BASED ON SEMANTICALLY-SECURE ENCRYPTION 47 Notice that ExptA is identical to Game o and Expts is identical to Game 2k. We establish ExptA -, Expts through the following two claims, which contradict the asumption. Claim 47.I. Game 1 is indistinguishablefrom Game k. (Breaking the encryption.) Now suppose there exists an algorithm D which distinguishes Game from Game k with non-negligible advantage r/. This implies there exists some j for which D distinguishes game Game j* and Game j* + 1 with advantage at least r/k. B' first guesses j [1, k]. It then uses (x, w) (which is part of the output of the Game) to generate the E-protocol prover messages (aj, co,j, cl,j) used in the jth triple of the proof B' submits the messages (0, cl-xj) as its challenges. (Recall in an indistinguishability attack, one of these messages is randomly chosen, encrypted and returned to B'.) Upon receipt of a ciphertext y, B' produces the proof 7r exactly as described in Game j with the exception that it uses y in place of fi. Finally, B' feeds the proof 7r to D and echoes its output. Conditioned on guessing j correctly, observe that the distribution of r is exactly the distribution of Game j* if y is an encryption of clfj and the distribution of Game j* + 1 otherwise. Thus, a simple probability calculation shows that B"s advantage in breaking the encryption scheme is A, which contradicts the security of Enc. Claim 47.2. Game k is indistinguishablefrom Game 2k. (Breaking the E-protocol simulator.) A hybrid argument similar to the one used in Claim 47.I applies. Assume by contradiction, there exists some j* and D which distinguishes Game j* and Game j* + 1 with advantage at least rl/k B" receives as input a transcript (a, b, c). If V 2 (a, b, c) = 0 (i.e., the transcript is not accepting), then output 0 immediately. Otherwise, guess j E [1, k]. If xj :~ b, then output a random guess. Otherwise, use (PK, SK, x, w) to generate a proof as described in Game j. Replace the jth triple with (a, EncpKo((1 - b) c), EncpKi (b- c)), feed the resulting proof 7r to D and echo its output. Once again, conditioned on guessing j correctly and on xj = b, the distribution of 7r is identical to that of Game j* if the input transcript is a real prover transcript, and identical to that of Game j* + 1 if the transcript is simulated. Recall that fj is chosen uniformly, and so Pr[fj = b] = /. Thus, B"'s advantage in breaking the E-protocol simulator is +2 which is a contradiction. Notice that our designated verifier NIZK protocol is also a proof of knowledge although we do not claim it specifically. REMARK: NIZK IN THE DESIGNATED VERIFIER MODEL 48 6.3 Application: Non-malleable Encryption Encryption We define the notion of an encryption scheme with no decryption error. Note that the restriction of encryption schemes to have no decryption error is without loss of generality, since Dwork, Naor and Reingold [DNRO4] show that any encryption scheme with decryption errors can turned into one that is immune to them. Effectively, immunity to decryption errors is captured by the perfect correctnesscondition below, which states that with overwhelming probability over the choice of keys, eachciphertext has a unique decryption. Definition 48.i (Encryption Scheme). A triple (Gen, Enc, Dec) is an encryption scheme, if Gen and Enc are ppt algorithms and Dec is a deterministic polynomialtime algorithm such that: Perfect Correctness. There exists a polynomial p(k) and a negligible function Is(k) such that, for every messagem, and every r, Pr[r9 - {0, 1}P(k); (PK, SK) - Gen(lk; rg); DecsK(EncpK(m; re)) 5/ m] </L(k). Semantically Secure Encryption The notion of semantic security of encryptions has been shown to be equivalent [GM84]to the following definition of indistingushability, which is technically more convenient to work with. Definition 48.2 (Indistinguishability of Encryptions). Let II = (Gen, Enc, Dec) be an encryption scheme and let the random variable INDb(II, A, k) where b E {0, 1}, A is a ppt algorithm and k, £ E N denote the result of the following probabilistic experiment: INDb(II, A, k): (PK, sK) - Gen (1k) (mO0,M1 , STATEA) - A(PK) Output [EncpK(mb), STATEA] We say that (Gen, Enc, Dec) is indistinguishable under a chosen-plaintext attack if V p.p.t. algorithms A the following two ensembles are computationally indistinguishable: {INDo(II, A,k)} k {NIND(II, A,k)} Non-malleable Encryption The following definition of non-malleable encryption is inspired by the recent definition of non-malleable commitments in [Ro5s]. Definition 48.3 (Non-Malleable Encryption). Let II = (Gen, Enc, Dec) be an encryption scheme and let the random variable NMEb(H, A, k, £) where b 6-3. APPLICATION: NON-LALLEABLE ENCRYPTION 6.3. APPLICATION: NON-MALLEABLEENCRYPTION 49 49 {0, 1}, A = (A1 , A2 ) and k, £ E N denote the result of the following probabilistic experiment: NMEb(II, A, k, ): (PK, SK) +- Gen(lk) (mo,ml, STATEA) - A (PK) y ,- EncpK(mb) (cl, . ., ce) Output (dl, A2(Y, STATEA) .. , de) where d = {i _I DecSK(Ci) ifci = y otherwisei =y otherwise We say that (Gen, Enc, Dec) is non-malleable under a chosen-plaintext attack if V p.p.t. algorithms A = (A 1 , A 2 ) and for any polynomial p(k), the following two ensembles are computationally indistinguishable: { NMEo(II, A, k,p(k))} EN {NMEI(H, A, k, p(k))} The notion of non-malleability under a CCAI or CCA2 attack is similarly defined by giving either A1 or both A1 and A2 access to a decryption oracle. Let us remark on the natural similarity of the above definition with the definition of indistinguishable security of an encryption scheme. Indeed, the first four lines of the experiment are exactly the same. In the last step, we add the requirement that the decryptions of the output of A2 are indistinguishable in the two experiments. This captures the requirement that even the decryption of the adversary's output must be computationally independent of the values (even when if they are encrypted) received as inputs. Our definition is a conceptual and syntactic simplification of "comparisonbased non-malleability" (CNM) introduced by Bellare, Desai, Pointcheval, and Rogaway [BDPR98]. While our notion is cleaner, it also implies all other definitions of non-malleability. Below, we show that our definition of non-malleability implies CNM. Bellare and Sahai [BS99] show that CNM is equivalent to both simulation-based non-malleability from [DDNOO] and so therefore our definition will also imply SNM. We feel that our definition both highlights the essense of non-malleability for encryption schemes and, similar to the original notion of indistinguishable security, provides the most technically convenient formalization to use in larger proofs. Definition 48.3 Implies CNM/SNM Non-malleability Let us first recall the notion of CNM non-malleability put forth by Bellare Briefly, the CNM definition requires that the following two et al. [BDPR98]. experiments be indistinguishable. NIZK IN THE DESIGNATED VERIFIER MODEL 50 CNMB,I(k) CNMB,n(k) -- Gen(lk) (PK, SK) (M, s) 4- Bo1(PK) x -- M y +- EncpK(x) (R, cl,..., ce)- B°02(, y) DecsK(cl, ,Ce) (dl,...,di) Output I iff (y 74cj) A R(x, dl, . , dt) (PK, SK) - Gen(1k) B° ' (PK) --M (M, ) x, y- EncPK(i) (R, ..., e) (d, . .., de) Output I iff (^ B°2(, ) t) DeCSK(, ... , F) A R(x, dl, ... , d) 63 Towards simplicity, our definition first eliminates the requirement that adversary B1 produce a sampling algorithm M. This step is completely unnecessary since the sampling algorithm is only used to sample two messages-a task which can be subsumed by B1 himself Second, we eliminate the requirement that B 2 produce an explicit relation R and for the experiment to output whether R is satisfied. Both of these steps are implicit in the notion of computational indistinguishability. Theorem 5o.i. Definition 48.3 implies CNM. Proof Let II = (Gen, Enc, Dec) be an encryption scheme. Let B = (B 1 , B 2 ) be a CNM adversary with advantage a = AdvB-atk(k). We construct a new adversary (A1 , A2 ) and distinguisher D that together succeed in distinguishing N ME1 from N ME 0 with advantage a as follows: A 2 (y, s'): AO'(PK): (R, ca-) B2 (s, y) (M, s) -- B°1 (PK) ce+l +- EncpK(mo, R) (mo, ml) - M c1, C£+1 Output s' ~--(, mo, PK) Output (mo, ml, s'). D(dl,i, . dt+l): (to, R) -di+l Output I iffVi, di 7 1 and R(mo, d, .. .,do) By inspection, one can verify that i. Pr[D(NME(II, 2. A, k, + 1)) = 1] = Pr[CNMB,n(k) = 1] Pr[D(NME(I, A,k, + 1)) = 1]= Pr[CNMB,n(k)= 1] Because II satisfies Definition 48.3, a must be negligible and so II must also satisfy CNM. [] Many Message Non-Malleability Notice that Definition 48.3 only applies when the adversary A2 receives one encryption as an input. In practice, an adversary may receive severalencryptions, and we would still like to guarantee non-malleability. Although such a guarantee is mentioned as a sin qua non of encryption in the original paper by 6.3. APPLICATION: NON-MALLEABLE ENCRYPTION 5I 5' 6.3.APPLICATION: NON-MALLEABLE ENCRYPTION Dolev, Dwork, and Naor [DDNOO], Gennaro and Lindell [GLo3, p.7] explicitly mention that one-message non-malleability does not imply many-message nonmalleability. Our simpler definition, however, resolves the confusion affirmatively with a rather simple proof Below we show that our definition implies the strongest form of many-message non-malleability. For convenience, we use a to denote a vector of messages (al, . . ., aj), and by EncpK(d) we mean the component-wise encryption (EncpK(ai),..., EncpK(aj)) where each encryption uses independent randomness. Definition 5i.I (Many Message Non-Malleability). Let II = (Gen, Enc, Dec) be an encryption scheme and let the random variable mrnNMb(I,A, k, £) where b {0,1}, A = (A1 ,A 2) and k, E N denote the result of the following probabilistic experiment: mNMb(HII,A, k, i): (PK,SK) - Gen(1k) (o, ri,, STATE)- A1 (PK)whereIoI01= Z - EnCPK(b) ((cl,t1),. . ., (ce, t)) 1-I= f {_I - A2 (/, STATE) Output (dl ..., de) where di = DecsK(I) DeCSK(Ci) if c e/ otherwise otherwise We say that (Gen, Enc, Dec) is non-malleable under a chosen-plaintext attack if V p.p.t. algorithms A = (A 1 , A 2) and for all polynomials £t(), the following two ensembles are computationally indistinguishable: {mNMo(II, A, k, (k))} EN {mNMl(I,A,k,(k)) Theorem 5i.I. A encryption scheme is non-malleable if it is many messagenonmalleable. Proof The backwards direction is clear. To prove the forward implication, consider an adversary A = (A 1 , A2 ) and a distinguisher D which breaks the many-message non-malleability of II with advantage i/. We shall use A, D to break the non-malleability of II with advantage q//2. Let us define a new experiment mNM(bl,...,be)(II, A, k, ) indexed by an g-bit string (bl, . . ., be) which is the same as mNMo(II, A, k, f) except in the third line (change is underlined): i (EncPK(m~ ),. .., EnCPK(mt)) e-i Define B(i) = (--J7 ,i 1,.T, and note that mNMo = mNMB(0) and mNM = mnNMB(e).Because D distinguishes mNMo from mNM1 , there exists some * [1,£] such that D distinguishes mNMB(g*) from mNMB(g*+l) with advantage r/i. This suggests the following adversary: NIZK IN THE DESIGNATED VERIFIER MODEL NIZK IN THE DESIGNATEDVERIFIERMODEL 52 52 tfl, STATE). Finally, A' A (PK) guesses g E [1, ], feeds PK to A1 to get (o, outputs (mo,g, ml,g) as its challenge pair and both message vectors, j, PK, and STATE as its state variable. Adversary A(y, STATE')simulates the replaced line 3 of experiment mNMB() to A 2 to produce with the exception that it replaces the yj with y. It then feeds Y7 (cl, . . , ce) and outputs this vector. Conditioned on j = g*, then NMEo(A',A') = mNMB(g)(Al,A2) and NME (A', A') is identical to mNMB(g*)(A1,A 2). Because A' guesses correctly with probability 1/E, D's overall advantage in breaking the single-message nonmalleability is r/' = 1/£ 2 . By assumption, r' must be negligible, which implies that 7rmust be as well, and so II is also be many-message non-malleable. [E Construction Theorem 2.I (Main Theorem, restated). Assume there exists a semantically secure encryption scheme. Then, there exists a non-malleable encryptionscheme. The construction of non-malleable encryption is exactly the DDN construction, in which the standard NIZK proof is replaced with a designated verifier NIZK proof By Theorem 44.i, designated verifier NIZK proofs for all L E NP can be constructed assuming the existence of a semantically secure encryption scheme. We remark that the proof of DDN directly carries over when using such a designated verifier NIZK. For completeness, we include it below, in a slightly simplified form due to the fact that we only consider CPA security and not CCA security as considered in DDN. Proof (of Theorem 52.) Let (Gen, Enc, Dec) be any semantically secure encryption scheme. Let (Gensig,Sign, Ver) be any existentially unforgeable one-time signature scheme. Define the NP-language L by the witness relation RL((C1,{ ,,Ck),(PK1,.. . ,PKk)) = {[m,(rl, .. ,rn)] IVi E [1,n, ci = EncpiK(m;ri)} Let (, P, V) be a designated verifier NIZK proof system for L. Such a proof system exists by Theorem 44.I. Now, consider the encryption scheme II = (NMGen, NMEnc, NMDec) defined as follows. PROTOCOL 52.52.I: NON-MALLEABLE ENCRYPTION SCHEME II FROM A DESIGNATED VERIFIER NMGen(lk): NIZK 6.3. APPLICATION: NON-MALLEABLE ENCRYPTION 53 Gen2k times to generate key-pairs (PK4,ski)i[1,k,bE{o0,1}. Sample a universal one-way hash function h - Hk. I. Run 2. 3. Set (sp, 4. PP) PK (1k). - def {(( PP, h XLet ((PKi, PKi))=l, d and SK def = {((SK,S4i))t=1,SPI. NMEncPK(m): I. Run the signature (SKSIG,VKSIG) 4- 2. Set (bl, . . , bk) key-generation algorithm to generate Gensig(lk). - h(vKsIG). 3. For i = 1, .. , k, compute the ciphertexts ci = EncpKi (m; ri). 4. Run r 4to generate P((cl,...,ck),(m,PK1,...,PKk,rl,...,rk),PP) [(c1,...,ck),(PKb a designated verifier proof 7r that ,...,PKbk)] E L 5. Compute the signature a - SignsKsIG(, 70)- 6. Output the ciphertext [ , VS vsi, , ]. NMDecsK(c): I. Run the signature-verifier VervcsIG [(6,7), Ver rejects. 2. or], and output if Run the verifier V((, -'K),7r,sp) of the designated verifier NIZK proof. Output if V rejects. 3. Otherwise, decrypt cl with the corresponding secret-keys to get messagesml and output ml. Proposition 53.I. ProtocolII defined above is a non-malleable encryptionscheme. Proof Let the experiments NMEb, for b E {0, 1}*, be defined as in Definition 48.3. We show that for every p.p.t adversary A = A, A2 , and every polynomial p. NMEo(HI, A, k,p(k))}k k N {NMEi(I, A,k,p(k))}k Towards this goal, define an experiment NME that proceeds just as NMEb with the following differences: I. The encryption keys PK, K are generated by ) honestly running the keygeneration algorithm for all 2n encryption schemes, and 2) running the designated verifier simulator S1 to generate (P, s). NIZK IN THE DESIGNATED VERIFIER MODEL NIZK IN THE DESIGNATEDVERIFIERMODEL 54 54 2. Instead of providing an "honestly" encrypted message of mb to A2 , in step 4 of NMEnc, replace 7rwith a simulated proof using S 2 . The following claim follows directly from the adaptive zero-knowledge property of the NIZK (note that we here rely on the fact that the the simulator also outputs the secret key of the verifier) Claim 54-1. {NMEb(II, A, k,p(k)) }E {NME,(, A, k,p(k)) }k Furthermore, the following claim follows from the unforgability of the signature scheme, combined with the semantical security of the encryption scheme. Claim54.2. {NME'o(II,A, k,p(k))}k Combining Claim 54.i and Claim {NME (I, A, k,p(k))} k 54.2, {NMEo(H,A, k,p(k))} keN we have Z {NMEo(n, A, k,p(k))} { NME (II,A,k,p(k)) c }ke {NMEi(H,A,k,p(k))}k [] To conclude the proof, note that Designated Verifer NIZK and one-time signatures can both be construted from any semantically secure encryption scheme. The former follows from Theorem 44.I, and the later from the fact that public key encryption implies one-way functions [] and one-way functions are sufficient for one-time signatures []. Below, we prove the two claims. Proof of Claim 54.2. Assume, for contradiction, that the claim is false. First, consider the experiment NME" which proceeds just as NME' but where the experiment outputs failed NIZK if in one of the decryptions, the NIZK was accepting but all n ciphertext didn't decrypt to the same value. It follows directly from the soundness of the NIZK that {NME'(II, A, k,p(k))} {NMEg(H, A, k,p(k))} We conclude that (by our assumption) {NME"(IA,k, p(k))} N; NME-(IIA~k~p(k))}e (6.i) We show how this contradicts the semantical security of n encryptions using m = AmultiEnc, AmultiEnc). AmultiEnc on Enc. Consider the machine (AMULENc input the public keys PK1, . . ., PKn proceeds as follows: 6-3-APPLICATION: 6.3. NON-MALLEABLE ENCRYPTION APPLICATION: NON-MALLEABLE ENCRYPTION 55 55 I. Run the signature key-generation algorithm: 2. Generate n new public/secret keys pairs (PK,, siK),... - Gensig(1k) VKSIG, SKSIG x , s, by run- ning Gensig(lk) n times. 3. Let (bl, .., bn) denote the bit representation of VKSIG. 4. DefinePK =- PK/, and PK-b 5. Run PP, = PK SP, STATEnik *- S1 (1k ) to generate a public and secret key for the NIZK. 6. Let mo, ml, STATEA - Al((PK0, PK'),..., 7. Output m0o,ml, (stateA, (K, PKc), PP). VKSIG,SKSIG, PP, SP, STATEnizk, (SKi,... Amu ltiEnc on input the ciphertexts c = cl, ... , cn and state (VKSIG, proceeds as follows: Sign c, r using 3. Feed C SKz)). SKSIG, (/, .. c to generate a simulated proof 7r. I. Run S2(STATEniZk on input 2. , SKSIG obtaining the signature a. = VKSIG, C, r, a, STATEA to A 2 4. Decrypt the ciphertexts Ci' = to obtain the cipher texts C',. vKSIG'i, ci, 7ri, a i . C. as follows: a) If Ci = C output L. b) Check using sP if 7ri is accepting, otherwise ouput c) Check using d) If C' SKSIG if Oi is accepting, otherwise output $ C, but VKSIGi= VKSIG,then A 2 . halts and outputs fail. e) Otherwise there must exist some index j such that the j'th bit of VKSIGiis different from the jth bit ofVKSIG. f) use SK'j to decrypt c and output this value. 5. Output all the decrypted ciphertext. We start by noting that under the (unjustified) assumption that claim that AM u ltiEnc never outputs fail and that NME" never outputs failedNIZK it holds that {INDb(mlti, AMultiEnc k) } = NME{NMEQ(II, A, k,p(k))} However, by the unforgability of the signature scheme used, it follows that the probability that AMUltiEnC outputs fail is negligible. Furhtermore, by the soundness of the NIZK it also holds that the probability that NME" outputs failedNIZKis negligible. Thus, , sK i)) NIZK IN THE DESIGNATED VERIFIER MODEL 56 {INDb(m'ultiir, A tiEn, k } ,) NME{NME'(I, A, k,p(k))z} (6.2) We conclude that by Equation 6.I, and 6.2 {INDo(multiw, Am , k) } ken { IND (multi7r, Am which contradicts the semantical security of n encryptions of Enc. , k) } kEN 0 [] Unique NIZK In 53 Studies on Chopins tudes...Godowsky operates under the basic premise that whatever elaborate passagework Chopin assigned to the right hand can and should be played by the left. On top of that, he smothers the right hand with lily-gilding countermelodies and serpentine filigree. Marc Andre Hamelin INTHIS CHAPTER we study a "dual" of the designated verifier model in which the Prover is given a secret parameter related to the public one. In such a system we are able to construct construct a novel type of NIZK system, uniZK, which guarantees that, for any x L, any prover -honest or malicious-can only produce a single uniZK proof for every witness he knows. In other words, we build a "one-witness, one proof" non-interactive zero-knowledge proof system. As with the designated verifier system, our prover algorithm is efficient. In contrast to all of the previous constructions, however, our proof system can be used multiple times after the setup phase. The eventual use for a uniZK proof system is the construction of tabula rasa proof systems in which the prover and verifier's probabilism is confined to a preprocessing phase after which not only is the Prover made totally deterministic, but his determinism is actually made universally verifiable. In this case, one can achieve a fair notion of zero-knowledge [LMso5B] in a multi-verifier scenario. In Fair ZK, if an interaction is zero-knowledge for one honest verifier, then it must also be zero-knowledge for all other verifiers. The uniZK proof system is also an instrumental part of constructing collusion-free multi-party computation protocols [LMSO5A]. APPLICATIONS OF UNIZK 58 7.I. DEFINITION 7.1. DEFINITION 59 59 FORMALIZING UNIZK The easiest way to formalize uniZK would be demanding that, every x L, no matter how many witnesses it may have, has a single uniZK proof. Unfortunately, no such uniZK system may exist. (We certainly do not know how to construct one.) A second way might be demanding the existence of a unique uniZK proof for each NP-witness. Unfortunately, relative to our steganography-free goals, such a definition may not be sufficiently meaningful, because it leaves open the possibility for a malicious prover to choose from a multiplicity of uniZK proofs by "rewriting" then. Assume that an efficient, malicious prover P' were given a witness w of a theorem x belonging to an NP-language L with computationally unique witnesses. Then, w would be the only witness of x c L known to P', and by Completeness, P' could certainly produce one uniZK proof, ri,. But now, if from 7rw,one could also compute additional uniZK proofs for z E L, P' could compute a multiplicity of uniZK proofs for x E L from a single witness! We thus formalize uniZK by demanding that (for most reference strings x and public keys PK) the honest algorithm P forms an easy-to-invert bijection between the witness set of x c L (denoted Wx) and the set of acceptable uniZK proofs (denoted IIPK(X, a)). This captures the notion that any prover "can only produce a single uniZK proof for any witness he knows:" his ability to produce multiple uniZK proofs from a single witness can solely originate from his ability of producing multiple witnesses from a single one. To complete our formalization, we must handle the case of a cheating prover who posts an invalid public key PK*; that is, a key that does not pass a proper inspection of an honest verifier. In this case, it is reasonable for the verifier to reject any subsequent proof: after all, he knows for certain that the prover is malicious! Therefore, our definition requires that either the set of acceptable proofs I/p* (x, a) is empty, or else there exists a secret key SK* such that P(x,., Cr,SK*) forms an efficient bijection from 14 to HpK* (x, a). For this to be meaningful, however, such spdv*should be unique, that is, there must be a function sk (possibly hard to compute) mapping any "reasonable looking" public key PK* to the right sdv*. In sum, our definitionstatesthat unlessHIPK*(X, a) is empty, P(x, , a, sk(PK*)) forms an efficient bijection from Wx to HIPK* (X, a). 7.I Definition Let L be an NP language, and RL be its corresponding, polynomial-time relation. We say that a sequence of pairs of strings, (X1, Wl), (X2, w2), .. , is a theoremwitness sequencefor L if each xi E L and wi c RL(xi). Definition 59.i. A triple of efficient algorithms, (G, P, V), where P is deterministic, is a unique non-interactive zero-knowledge (uniZK) proof system for an NP-language L if there exists a positive constant c and a negligible function A such that the following properties are satisfied: 60 UNIQUE NIZK COMPLETENESS: V theorem-witness sequences (x 1 , wi), (x 2 , w2),... for L, and for all k Pr (, p'p,sp) 7r 2 = P(x 2 2 = P(xl , Wi, ' SP, 1); 1 ,a, ,,2) ... : AiV(xi,a,PP,,i,i) = 1 J ( l k) ; Tr 1 ADAPTIVE SOUNDNESS: V algorithms P* and for sufficiently large k E N Pr [a {- (o, 1}k; (x*, pp*, r*, i) P*(a) x* L A V(a, x*, Pp*, 7r*,i) = ] < (k) ZERo-KNOWLEDGENESS: an efficient algorithm S such that V theoremwitness sequences (xl, wI), (2, w2 ), . . for L, the outputs of the following two experiments are computationally indistinguishable: Expts(k) ExptA(k) (S,pp, Sp) +_ o(1 k ) 7ri - P(X, 7r2 - P(x 2, (( , ) ,_-S (1 k ) Wi, SP, 1) 7r S 2 (xl, w2, sp, 2) 7r2- S 2 (x 2, 2, z') Output (a pp, r,1, r2, ... ) 1, z') Output (, Pip', 7r, 2,...) UNIQUENESS:3 a deterministic function sk(.) and an efficient deterministic algorithm p-1 such that Vx c L, Vi > 0, and VPP* E {0, 1}*, (Irip.(XU)l > o) P( Pr , x, , sk(pp*), i) : Wx 1 riPp (x, ar) A > 1-(k) p-'(a,x,,sk(pp*),i) ri P. (x,u ) W. where Wx = {w : w c RL(x)} and FriP.(x,a) = {1r: V(x,a,i,,i) 7.2 = 1}. Construction Based on Quadratic Residuosity We can construct a uniZK system based on the hardness of the quadratic residuosity problem [GM84] by modifying the protocol of Blum, De Santis, Micali and Persiano [BDMPgI]. We note the similarity of both our starting point and approach with that of Naor's work on countable NIZK proof systems [NAo96]. Let us first review the hardness assumptions we make. 'We can also make a uniZK system for CIRCUIT-SAT by combining the single-theorem protocol of Damgard [DAM93] with the multi-theorem techniques of Blum, De Santis, Micali and Persiano. 6I 7.2. CONSTRUCTION BASED ON QUADRATIC RESIDUOSITY The Quadratic Residuosity Assumption The quadratic residuosity assumption was first used by Goldwasser and Micali [GM84] to construct a semantically-secure encryption scheme. It has been extensively used since then because quadratic residues exhibit a natural homomorphic property. A number x is a quadratic residue modulo N if there is another number y such that y2 = x mod N. Let us define the quadratic residue predicte QN(X) as follows: QN(X) s.t. y 2 = x if 3y E Z { I mod N o.w. For a number y, let ( ) denote the Jacobi symbol of y with respect to N. Recall that the Jacobi symbol can be computed in polynomial time in the bit representation length of N. Define JN+= {y E Zk I (~) = 1} as the set of Jacobi-symbol+1 in ZN. An integer N is a Blum integer of size k if and only if N = pq where p and q are prime numbers of length k which are both congruent to 3 mod 4. For k E N, let the set Blumk be the set of Blum integers of size k. The Quadratic Residuosity Assumption states that when N is chosen randomly from the set of Blum integers, there is no family of efficient algorithms for computing the predicate QN () on random instances that is significantly more correct than guessing. Definition 6i.i. The Quadratic Residuosity Assumption is that for every constant c, and for every family of polynomial-sized circuits Ak(., ), there exists a sufficiently large k such that Pr [N +A~'-~~ 1 ! +kc Blumk; Y - JN; Ak(N, y) = QN(Y)] < In the sequel, we refer to the following family of languages. Definition 6I.z. Let language NQR(k) be NQR(k) = {(x, y) s.t. x E Blumk, y E J+1 , Qx(y) = 1} Before presenting our main result, we present a theorem from which we use in our construction. [BDMP9I] Theorem 6i.I (Theorem 4.3 from [BDMP9I]). Thereexistsaperfectnon-interactive zero-knowledge proof system (A, B) for the language NQR(lk) in the common random string model. Main Construction Theorem 6i.z. Ifthe Quadratic Residuosityassumption holds, then there exist uniZK systemsfor 3SAT 62 UNIQUE NIZK UNIQUE NIZK| 62 Let us first introduce some notation. Let (ai,..., am) be a tuple of k-bit integers that have Jacobi symbol +1 mod x. If (bi, . , bin) is tuple of bits then we say that (ai,... ,am) has type (bi,... , bin) if each ai is a square mod x if and only if bi is 0. If (Cl, . . ., c,m)is a tuple of k-bit integers then we say that (a, ... , am) and (ci,... , Cm) have the same type if ai is a square mod x if and only if ci is a square mod x. A prover who knows the factorization of x can prove that the tuple (a, ... , am) has type (bi,..., bin) by providing, for each i, a square root of aiybi mod x. Similarly,a prover can prove that (a, . . , am) and (c 1, ... , ) have the same type by providing, for each i, a square root of aici mod x. To make these proofs unique, whenever the prover provides a square root, Prover must provide the root with Jacobi-symbol +1 which is less than x/2. (Since x is a Blum integer, there is exactly one such root for every quadratic residue.) The verifier rejects any proof in which a different square root is provided. Following [BDMP9I], we first present a proof system for the single theorem case. Let 3 SAT be the language of satisfiable boolean 3-CNF formulas. Let 0 E 3SAT be a theorem with m clauses and variables vi, .. , vn and let w be a satisfying assignment for 0. Theorem 6z.I. If the Quadratic ResiduosityAssumption holds, then there exists a uniZKproofsystem for a singletheorem 0 E 3SAT Proof Considerprotocol 62.I. PROTOCOL 62.62.I: . UNIZK SINGLE THEOREM PROOF SYSTEM FOR 3SAT I Pi = mo 4 and set x = PK = (, y) and P1P2. Choose a quadratic non-residue y. Output re- L- I .. - c1l-): choose two c bit primes P1,P2 SK = (Pl,P2, Yy). Prover P(lk, _] .t. O, SK, 0, W): I. Break the reference string ar into three parts, p1, p2, p3 where jpiI = 16k3, P21= 64k 2 n and P31 = 192k2 mlogm. 2. Use random string P1 and the prover algorithm A to generate a proof 7ri that (x, y) E NQR(k). (The only slight modification is that whenever A gives a square-root, give the one with Jacobi symbol +1 which is less than x/2.) 3. Parse P2 into k-bit integers, skip any integers that are not in Zn+. Output Il if, after exhausting P2 in this manner, there are fewer than 8kn acquired integers. Do the same for p3. Output ifthere are fewer than 24km acquired integers. 7.2. CONSTRUCTION BASED ON QUADRATIC RESIDUOSITY 4. Parse the first 8kn integers acquired in step 3 into n pairs of k-bit integers such that each pair is either of type (1, 0) or type (0, 1). To do this, consider each pair (s, t) (in order) and either give V mod x and discard the pair or give v/s-t mod x and output the pair. Once n pairs have been selected, ignore any remaining pairs. If n pairs cannot be selected,output . 5. Now define a value ui corresponding to each variable vi in 0 as follows: let ui be the quadratic residue in the ith pair acquired in step 4 if vi is false in w, and to the non-residue in the pair otherwise. Output(ul, ..., un). 6. Let Vd, ve and vf be the three variables that appear in dclausej of 0. For each clause j of 0, output the triple (aj, bj, cj) where aj is equal to ud if vd appears non-negated in the clause or to the product of Ud and y mod x otherwise. The values bj and cj are analogously defined. 7. Interpret the integers acquired from p3 as 8km log m triples of integers. Place a comma after each sequence of 8k log m triples and denote the jth such sequence as Tj. For j = 1, . . ., m, select 8 triples from Tj that all have different types via the following process: within a set of 8k log m triples, inspect each triple in the order in which they appear and either select it or provide a proof that it is of the same type as a previously selected triple. If fewer than 8 triples have been selected by the end, output . Otherwise prove that one of the selected triples has type (0, 0, 0) (by providing square roots for each element of the triple) and discard it. Denote the remaining 7 selectedtriples as ((a'31. i) ((X7 37 yT)) 8. For each clause j of 05,show that for some 1 < t < 7, (aj, bj, cj) is of the same type as (a,, -yi). f, Note, this proves that the clause is satisfied since the identified triple (aj, /3j, yj) is not of type (0,0,0). (7r2,7 4 , 7r5 , r, ated during step I. 9. Output T7r 8 ) where 7rs refers to the string gener- VerifierV(lk, a, PK, , 7r): I. If 7r = for any I then reject. Run the honest-prover algorithm as per step 1,2,4 and 7 to generate r2, 7t4, 7r7 and verify that the corresponding proof string parts are equivalent. Also verify that every root given in the proof string is an element of Z + is less than x/2. Reject if not. 3. As per [DMP9gI], verify 7r3, which is the proof that (x, y) is wellformed. 2. 63 64 64UIUENZ UNIQUE NIZK 4.Verify 7r5 by making sure that each pair is handled, and that the proof string contains a proper root of the pair. 5. Verify 7r8 by checking that for each set of triples, the prover has handled the pairs in order, and that each of the proofs given between triples is sound. Finally, verify that the opened pair is of type ( 0, 0) 6. For each clause, verify the proof that it is associated with one of it's remaining seven selected triples. Completeness only fails when the honest Prover outputs . This occurs in step 2 with probability 2 -k . For the rest of the process, we shall vigorously use independence and the Chernoff bound. Recall that a randomly chosen k-bit integer a will be in Z + with probability greater than 1/4. Thus, the expected number of integers which are not skipped in step 3 is 48k(n + mn). By the Chernoff bound, the probability of I1at step 3 is therefore upper-bounded by e - k(n+m). By similar calculation, we can upper-bound the failure probability at step 4 by e - kn. Finally, step 7 is an instance of the Coupon Collector'sproblem. Let event E(a,b,c) be the probability of not collecting type (a, b, c). Because each coupon or type occurs with probability 1/8, we have COMPLETENESS: Pr[E(a,b,c)]< 1 1 - -8 8k log m < 2 -1.25klogm By the union bound, the probability that some type is not collected is therefore upper-bounded by 8 . 2 -125klogm . Applying the union bound again, the probability of failure at step 4 is < 2 -kl°g m m < 2 -k, and applying the union bound over all steps completes the proof. SOUNDNESS: Assume that some algorithm P' can produce a proof 7r' for some 0' 3SAT such that for a non-negligible fraction of strings aor,V(lk, a, rpp,0', 7r') = 1. In this case one of two events must occur: (a) either (x, y) written in 7r' is not in NQR(k), or (b) (, y) E NQR(k) and a contains 8km log m consecutive triples parsed in step 7 which belong to the union of only 7 types (instead of 8). This follows because if not (a), then 7r' contains a well-defined truth assignment for the variables of 5' (this assignment is generated in step 4 and 5). Because 0' is not satisfiable, there is some unsatisfied clause j' induced by this assignment. Because the proof of equality for two triples has soundness 1 when (x, y) E NQR(k), the only way for 7r' to cause V to accept in this case is for there to be two triples of type (0, 0, O) selected during the parsing of the j'th sequence in step 7. Finally, the only way for two triples of the same type to be selected is if some type is missing from the sequence of 8km log m triples. If no type is missing from the sequence, but P' selects two triples of the same type, then by pigeonholing, 7.2. CONSTRUCTION BASED ON QUADRATIC RESIDUOSITY 65 there some type is left unselected. Recall P' must process every triple by either showing it is equivalent to a previous triple or selecting it. By the soundness of the equality proof for triples and by the assumption, both cases are impossible. To complete the argument, the soundness of the proof system for NQR implies that (a) occurs with probability less than 2 -k 2 . In the case of (b), as per the completeness section, the probability that some type t is not collected from the sequence of 8km log m triples is bounded by 2 -k n . Overall, the union bound therefore implies the soundness error is less than 2 -km + 2- / 2 . The crucial idea behind the simulator for this protocol is to produce a public parameter (x', y') NQR(k) and to create a string P2 which allows the simulator to succeed in step 4 and 5 in a special way. Normally, if (x, y) is a well-formed proving pair, then with high probabality over the common random string, the pairs chosen in step 4 must be of type (0, 1) or (1, 0). On the other hand, if (x', y') V NQR(k), then the pairs chosen can be of type (1, 1). In this case, each clause is always satisfied and so P' can always succeed in making the Verifier accept. ZERo-KNOWLEDGE Si (lk): Run 9 (k) to generatep = (x,y, pl,p2, pa) and s = (PI,p2). Choose a quadratic residue y' Z + . Generate p' _ S(1k) by running the simulator for the proof system for NQR(k). Generate p2 from P2 by replacing every quadratic residue with a randomly chosen quadratic nonresidue in Z + . Set the auxiliary information z to be a randomly chosen 8kn bit string. Output iPP'= (x, y', pI, p2, P3), SP' = siP,z. S2(sP, , Z): I. Generate 7r - S(x', y') by running the NQR simulator. Parse p' as per step 3 of the honest prover algorithm and let Pi (si, ti) be the ith pair that remains. Generate 7rl by repeating the following process until 8kn pairs have been selected: Read the string 2. = z 1z2 .... If zi = 1 then discard pi by outputting /s mod x. Otherwise, select Pi by outputting /ty mod x. (This is always possible because si, ti are non-residues and y is a residue by construction.) 3. Generate 7r' by randomly selecting one of the values from the pairs in 7r~ for each variable i = 1, .. ., n. 4. Generate 7r7and 7r8as per the honest Prover algorithm. We define one intermediate Game. Game I: This is the same experiment as ExptA with the exception that a simulated proof that (x, y) NQR(k) is given in step 2 of the proof instead of the real proof. The security of the NQR proof system implies that the output of ExptA and Game are indistinguishable. The following claim completes the proof that the protocol satisfies the zero-knowledge property. 66 UNIQUE NIZK Claim 65.I. The output of Game r and ExPtB,S1 ,s2 are computationally indistinguishable. Assume, for the sake of contradiction that distinguisher D has advantage ac in distinguishing the two experiments. We shall use D to construct an algorithm which solves the quadratic residuosity problem with advantage ma. QR(x, y): I. Producept, 7r2 - S(x, y). z. Produce p2, 7r4 as follows. Pick a random string z of length 8kn and let zi denote the ith bit. For i = 1,.., 8kn do: a) Initialize counter j = 0. b) ri, si Z+; bi - {0,1} c) If zi = 0 then output a "discarded" pair. That is, based on bi append either (ri2, s2) or (-ri2, -s2) to p' and append rs to 1r4. d) If zi = 1 then increment j - j + 1 and let { -r, yrs yr, yr if w(j) = TRUE s otherwise Define Uj = yujsi 2 . Based on bi, append either (uj, Uj) or (uj, uj) to p and rj to 7r4. 3. Produce 7r.5 by assigning variable vj to the label uj produced earlier. 4. Produce 7 by running the following procedure for each dclause j of 0: For i= 1,..., 8kmlogm, do [(O 0,0),. .. ,(1,1,1)] and a) Randomly pick a type (e,f,g) + values ai, bi, ci E Z . b) Produce triple Ti = (-yea?, -yfb?, -y9c?) and append to p. c) If this is the first occurrence of type (e, f, g), select Ti. Otherwise, generate a proof that Ti is equivalent to the first occurrence of type (e, f, g) (by using the appropriate roots chosen during construction) and append it to 7r5. 5. Produce ms by running the following procedure for each clause j = (Xa V Xb V xc): Let Sj = (a, ub, uc) (if a variable in clause j is negated, then take ut instead). Let t = (e, f, g) to be the truth-type for clause j under assignment w( (e.g., if clause j is (X5 V X8 V xg) and w(x5) = 1, w(x8) = 0, w(xg) = 1, then the truth type is t = (1,0,1)). Finally, let Tj,(e,,g) be the selected triple of type (e, f, g) produced for clause j in 7r7 Append the proof ( -uaya, /-ub y, /UCy) to 7r8. To compute the square roots, exploit the fact that each term contains an even power of y, and even number of - s, and a product of squares for which the roots are known by construction. Moreover, 7.2. CONSTRUCTION BASED ON QUADRATIC RESIDUOSITY 67 by construction, the square roots will also have Jacobi-symbol +1 and can be easily transformed to the canonical root. 6. Set 7r = (4, 7r5, r7, 7r8), run D((x, y), 7r) and echo the output. One can verify that when y is a non-residue, the input distribution to algorithm D is identical to Game whereas when y is a residue, the input is identical to EXPtB,S 1,s 2 UNIQUENESS: Proof Define the secret key extraction function, skO, to take in a proving pair = (x, y) and return the factorization of x. We now observe that if PP is not properly constructed, then with overwhelmingly high probability over the choice of random string, the verifier rejects any proof (because of soundness in Step 2), and therefore IlHpp (a, 0) is empty and uniqueness is trivially satisfied. Therefore, we restrict attention to the case when rP is properly formed. First we observe that P (with auxiliary inputs a, X and the factorization of x) is a deterministic function and that by completeness it maps W into Ilpp (a, ¢). We now construct an efficient algorithm p-1 (with the same auxiliary inputs) and show that it is the inverse of P. Finally, we show P and p 1 are bijections by proving that p-' is an injection. Let P- on input 7r E IHpp(a, ) inspect the portion 7r5,,use the factorization of x to determine the quadratic character (mod x) of ul, . . , urn, and output the corresponding assignment w. By inspecting step 5, one can verify that p-1 returns the exact assignment used to generate 7r,so P-' is the inverse of P. All that remains to be shown is that p-1 is injective. Let 7r - P(a, X, w, sk(pr)). We show that if r* 7rand yet P-l (a, X, 7r*,sk(PP)) = w then 7r* g Ipp(a, q). We establish this using case analysis. Suppose the first point at which 7r and 7r* differ is portion ri. Case I below handles this possibility: (The verifer has run the honest prover algorithm to parse PI, P2, P3 and make sure the parsing of the strings is done properly and all roots are the canonical ones.) Case 2: Let R (for root) be the first k-bit value where 7r and r* differ. The verifer will reject any R that is not a Jacobi symbol I element less than x/2 or which when squared is not equal to either r (the corresponding k bit value in p or yr( mod x). Since y is a non-residue, either r or yr has no square roots and since x is a Blum integer only one (of the four) square roots can pass the test. Case 4: This is similar to the previous case. Let R represent the root in which 7r and 7r* differ and let (s, t) represent the corresponding pair in P2. The verifier squares R and expects to see either st mod x or yst mod x, and because only one of these values has a root, only one R passes the test. 68 UNIQUE NIZK UNIQUE NIZK 68 Case 5: This case is impossible because by assumption, p- 1 maps both 7r and 7r* to the same witness. Case 7: We first argue that the sub-proof used to show that two triples are of the same type is sound. This follows directly from the fact that (x, y) is properly formed. We next show that r* cannot select two triples of the same type. If r* selects two triples of the same type, then some type, is not selected. With high probability, this unselected type appears in the set of 8k2 triples. Therefore, the Verifier rejects 7r*since 7r*cannot prove that the unselected type is similar to a previously selected triple. Hence, 7r* must select all 8 types. If r and 7r*select the same 8 triples, then the fact that 7r*is rejected follows from the fact that each quadratic residue has exactly one Jacobi symbol I root less than x/2. Assume 7r and 7r*select different triples. If 7r selects a triple that r* does not, then r* must give a false proof that this triple was the same as a previously selected one, and we already know that the Verifier rejects such proofs. Alternatively, if 7r*selects a triple not selected by r, then 7r*cannot contain 8 different types, and we know that the Verifier rejects in this case as well. in ~, Case 8: As in the previouse case, for each j, the selected triples (4, AY) both 7r and r* must be the same and must contain 8 distinct types. By the soundness of the sub-proof that two triples are the same type, both 7r and 7r* must give a proof about the same pair of triples for each clause. Finally, by similar reasoning to Step 4, the verifier will reject the proof in 7r*. E As in [BDMP9I], theorem one. we now transform the single theorem system to a multiple We start by breaking the random string a into five pieces, P1, P2, P3, rT and r2. We use P, to prove that (xo, yo) in a proper proving pair . This is done exactly as in Step 2. At this point, x0 and Yocan be used with P2, P3 to prove the first theorem as in the single theorem case (starting from Step 3 as the correctness of (xo, yo) has already been established). At this point, our construction diverges from [BDMP9I]. Originally, for the second theorem, the prover in [BDMP9I] randomly selects completely new proving and then uses (xo, yo) and T1 along with the single pairs (oo, Yoo)and (o01, Yo01) CONSTRUCTION OVERVIEW: 'We have changed notation from (, y) above to (o, yo) in order to match the notation from [BDMP9I] 7.2. CONSTRUCTION BASED ON QUADRATIC RESIDUOSITY 69> theorem system to prove the auxiliary theorem, "(xoo, Yoo) and (xo1, yol) are properly formed proving pairs." 3 This approach, however, does not work in our setting because selecting new random values after posting the public key compromises the Uniqueness property. To circumvent this difficulty, we add a seed, s, for a pseudo-random function f [GGM86] to the prover's secret key, and a perfectly binding commitment to s to the prover's public key. Now whenever the prover in [BDMP9I] is instructed to prove that "(Xobl...bj0, obj...bjo) and (X0b1...bil,Yobl...b 1 l) are properly formed proving pairs" our prover instead proves that "(ob 1 ...bjo, Y0bj...bjo) 9 and (b 1 ... b1l, Yobl...bil) are generated using (1k) with coins f(0b 1 ... bi) Observe that this auxiliary theorem is an NP-statement whose length is a fixed polynomial in k and can therefore be proven using the single theorem uniZK system with a sufficiently long Ti. This assures both that (x0b1 ...bjo, Yob ...b O) and (X0b1 ...bi 1, Yob ...b,1) have the necessary properties and also that the prover had no choice in selecting these values (given his public key).4 We can also extend our system to work for theorems of arbitrary size by using techniques similar to those in [BDMr9I]. Let X be an arbitrarily long formula and let (, )) be the next unused proving pair in the construction described above. First, use (, 9) to complete steps 3 through 6. Observe that we cannot continue with step 7 because T2 is not long enough to accommodate all of the clauses of q. Instead, for each dclause,we form the NP-statement In clause j of X, the triple (aj, bj, cj) contains one non-residue in Z+ z2. Note that the length of this statement is fixed and independent of the size of 0. Therefore, by making T2 sufficiently long, we can prove each of these statement as separate theorems using the successor pairs of (x, Y) as per the multitheorem construction. Note that the prover has no choices because the form of the statement and the order in which they are proven are fixed by the theorem 0. The proof that this scheme is complete, sound, and zeroknowledge closely follows the corresponding proofs in [BDMP9I]. Therefore, we will only sketch a proof that our construction satisfies Uniqueness. The only SECURITY PROPERTIES 3In general, [BDMP9I] describes a tree structure in which (xob,...b, Yob,... bj) is used to certify yob,...bil) which are then used to prove the bl ... biffh and (XObl...bio, yOb, ... bO) and (obl...bil, bl ... bi h theorems. 4Note here that we need to use a commitment scheme with only a single valid decommit message (to assure that the prove does not have a choice in selecting the witness for the auxiliary theorem). 70 UNIQUE NIZK difference in the multi-theorem case is that 7r and 7r* might use different pairs (x, y) -7 (x*, y*) to prove theorem i. This means that (x*, y*) is not the output of the honest prover algorithm with coins specified by the committed seed in the prover's public key. In this case, by the soundness of the single-theorem proof system, the verifier will reject any auxiliary proof certifying (x*, y*). PROBLEM. We deliberately choose 3SAT (over, say, 3-Colorability) because, in order to satisfy the Uniqueness property, our multi-theorem construction requires a reduction from general NPstatements to 3-SAT formula which preserves the number of witnesses (in our case, one to one). Notice that even parsimonious reductions for 3-colorability map one witness to six possible colorings. REMARK: CHOOSING THE RIGHT NP-COMPLETE REMARK: CHOOSING THE RIGHT COMPLEXITY ASSUMPTION. There are several NIZK systems based on the more general assumption that trap-door permutations exist (e.g., [FLS99] and [KP98]). Adapting such systems to admit Unique proofs, however, seems to require substantially new techniques. Bibliography [AH9I] W Aiello and J. Histad. Statistical zero-knowledge languages can be recognized in two rounds. J Comput. Syst. Sci, 42:327-345, 99I. 0, II, [AD97] 32, 33 Mikl6s Ajtai and Cynthia Dwork. A public-key cryptosystem with worst-case/average-case equivalence. In STOC, pages 284-293, 1997. I3 [AUM74] R. Aumann. Subjectivity and correlation in randomized strategies. J Math. Econ.,1:67-96, 974. II [BM88] L. Babai and S. Moran. Arthur-merlin games: A randomized proof system, and a hierarchy of complexity classes. J. Comput. Syst. Sci, 36(2):254-276, 988. 2I, 22, 32 [BDPR98] Mihir Bellare, Anand Desai, David Pointcheval, and Phillip Rogaway. Relations among notions of security for public-key encryption schemes. In CRYPTO, pages 26-45, 998. 49 [BS99] Mihir Bellare and Amit Sahai. Non-malleable encryption: Equivalence between two notions, and an indistinguishability-based characterization. In CRYPTO, pages 59-536, 1999. 49 [BDMP9I] M. Blum, A. De Santis, S. Micali, and G. Persiano. Noninteractive zero-knowledge. SIAMJ. Computing,20(6):i084-iii8, i99I. 9, i6, 60, 6i, 62, 63, 68, 69 [BFM88] Non-interactive zeroM. Blum, P. Feldman, and S. Micali. knowledge and its applications. In Proc. 20th ACM Symp. on Theory of Computing,pagesI03-II2, 988. 6, 8, 9, 20, 2I, 22 [BHZ87] R. Boppana, J. Hastad, and S. Zachos. Does co-NP have short 987. IO interactive proofs? Inf Process.Lett., 25(2):I27-132, [CDOO] Jan Camenisch and Ivan B. Damgard. Verifiable encryption, group encryption, and their applications to group signatures and signature sharing schemes. In Asiacrypt 2000. volume 1976 ofLNCS, pages 331- 345,2000. 42 72 73 [CLOso2] R. Canetti, Y Lindell, R. Ostrovsky, and A. Sahai. Universally composable two-party and multi-party secure computation. In STOC 02, pages 494-503, 2002. 9 [CDO4] R. Cramer and I. DamgArd. Secret-key zero-knowledge and non- interactive verifiableexponentiation. In TCC o04,2004. 9, II, 22, 36 [CS98] Ronald Cramer and Victor Shoup. A practical public key cryptosystern provably secure against adaptive chosen ciphertext attack. In CRYPTO, pages I3-25, I998. 12, I3, 42 [cso2] Ronald Cramer and Victor Shoup. Universal hash proofs and a paradigm for adaptive chosen ciphertext secure public-key encryption. In EUROCRYPT,pages 45-64, 2002. 12, I3, 42 [DAM93] Non-interactive circuit based proofs and nonI. Damglrd. interactive perfect zero knowledge with preprocessing. In EUROCRYPT92, pages 34I-355, I993. 9, 36, 6o [DAMOO] I. DamgArd. Efficient concurrent zero-knowledge in the auxiliary string model. In EUROCRYPT2000, pages 4i8-430, 2000. 9 [DFN05] I. DamgArd, N. Fazio, and A. Nicolosi. Secret-key zero-knowledge protocols for NP and applications to threshold cryptography. Manuscript, 2005. II [DCO+OI] A. De Santis, G. Di Crescenzo, R. Ostrovsky, G. Persiano, and Amit Sahai. Robust non-interactive zero knowledge. CRYPTO oi, pages 566-598, 200I. 9 [DMP88] A. De Santis, S. Micali, and G. Persiano. Non-interactive zeroknowledge with preprocessing. In CRYPTO88,pages 269-282, i988. 9, II, 36 [DDNOO] Danny Dolev, Cynthia Dwork, and Moni Naor. cryptography.SIALMJ Comput.,30(2):39I-437, 2000. Nonmalleable 3, 49, 51 [DWO99] Cynthia Dwork. The non-malleability lectures. Course notes for Stanford CS 359, 999. http://theory.stanford.edu/ gdurf/cs359-99. '3 [DNRo4] Cynthia Dwork, Moni Naor, and Omer Reingold. Immunizing encryption schemes from decryption errors. In EUROCRYPT, pages 342-360, 2004. 48 [FLs99] Uriel Feige, Dror Lapidot, and Adi Shamir. Multiple noninteractive zero knowledge proofs under general assumptions. SIAMJ. Comput., 29(I):I-28, 999. 9, 10, II, 22, 23, 24, 27, 36, 70 BIBLIOGRAPHY BIBLIOGRAPHY 74 74 [GMR98] R. Gennaro, D. Micciancio, and T. Rabin. An efficient noninteractive statistical zero-knowledge proof system for quasi-safe prime products. In CCS 98, pages 67-72, 998. i [GLO3] Rosario Gennaro and Yehuda Lindell. A framework for passwordbased authenticated key exchange. In EUROCRYPT, pages 524-543, 2003. 3, 5I [GOL90] O. Goldreich. A note on computational indistinguishability. Inf Process. Lett., 34(6):277-28I, I990. 3I [Go94] O. Goldreich and Y Oren. Definitions and properties of zero- knowledgeproof systems.J. Crypt., 7(I):I-32, I994. 20 [GOLOI] Oded Goldreich. Foundations of Cryptography,Volume I, volume Cambridge University Press, May 200I. 23 [GOL04] Oded Goldreich. Foundations of Cryptography,Volume 2. Cambridge UniversityPress,2004. [GGH97] I. 22 Oded Goldreich, Shafi Goldwasser, and Shai Halevi. Public-key cryptosystems from lattice reduction problems. In CRYPTO, pages 112-131, 1997. 13 [GGM86] Oded Goldreich, Shafi Goldwasser, and Silvio Micali. How to construct random functions. Journal of the ACM, 33(4):792-807, October 986. 4, 69 [Go94] Oded Goldreich and Yair Oren. Definitions and properties of zeroknowledgeproof systems.Journalof Cryptology,7(I):I-32, 994. 9 [GMR85] S. Goldwasser, S. Micali, and C. Rackoff. The knowledge complexity of interactive proof-systems. In Proc. 17th ACM Symp. on Theory of Computing, pages 29I-304, 985. 6 [GS86] S. Goldwasser and M. Sipser. Private coins versus public coins in interactive proof systems. In Proc. 18th ACM Symp. on Theory of Computing, pages 59-68, 986. 22, 32 [GM84] Shafi Goldwasser and Silvio Micali. Probabilistic encryption. Comput. Syst. Sci., [GMR88] [HILL99] 28(2):270-299, 984. I2, J I3, 14, 48, 6o, 6I Shafi Goldwasser, Silvio Micali, and Ronald L. Rivest. A digital signature scheme secure against adaptive chosen-message attacks. SIAMJ. Computing, 7(2):28I-3o8, April 988. 6 J. Histad, R. Impagliazzo, L. A. Levin, and M. Luby. A pseudorandom generator from any one-way function. SIAM J. Comput., 28(4):I364-I396, 999. 27, 31 75 [si96] Markus Jakobsson, Kazue Sako, and Russell Impagliazzo. Designated verifier proofs and their applications. In EUROCRYPT, pages I43154, I996. 2, 42 [KIL88] J. Kilian. Founding cryptography on oblivious transfer. In Proc. 20th ACM Symp. on Theory of Computing, pages 20-3I, I988. II, 37 [KMo89] J. Kilian, S. Micali, and R. Ostrovsky. Minimum resource zeroknowledge proofs. In FOCS 89, pages 474-479, 1989. 9, II, 36, 37 [KP98 Joe Kilian and Erez Petrank. An efficient noninteractive zeroJ. knowledge proof system for np with general assumptions. 998. 9, 70 Cryptology,II(I):I-27, ] [LMSOSA] Collusion-free Matt Lepinski, Silvio Micali, and abhi shelat. protocols. In Proc. 37th ACM Symp. on Theory of Computing, pages 543-552, [LMS05B] May 2005. 4, I5, 58 Matt Lepinski, Silvio Micali, and abhi shelat. Fair-zero knowledge. Conf, pages 245-263, 2005. I4, In Proc.2nd Theoryof Cryptography I5, 58 [NAo9I] M. Naor. Bit commitment using pseudorandomness. J. Crypt., 4(2):151-158,1991. 27 [NAo96] Moni Naor. Evaluation may be easier than generation. In Proc. 28th ACM Symp. on Theoryof Computing,pages74-83, 996. 60 [NA003] Moni Naor. A taxonomy of encryption scheme security, 2003. [ow93] R. Ostrovsky and A. Wigderson. One-way fuctions are essential for non-trivial zero-knowledge. In ISTCS, pages 3-I7, 993. 0 [PRos] Rafael Pass and Alon Rosen. Concurrent non-malleable commitments. In FOCS, pages 563-572, 2005. 48 [Psos] Rafael Pass and abhi shelat. Unconditional characterizations of noninteractive zero-knowledge. In CRYPTO, pages 118-134, 2005. 15 [Psvos] Rafael Pass, abhi shelat, and Vinod Vaikuntanathan. Construction of a non-malleable encryption scheme from any semantically secure encryption scheme. Submitted, November 2005. 15 [REnG05] Oded Regev. On lattices, learning with errors, random linear codes, and cryptography. In STOC, pages 84-93, 2005. 13 [SVO3] A. Sahai and S. Vadhan. A complete problem for statistical zero knowledge. J. ACM, 50(2):I96-249, 2003. 26, 33 I3 BIBLIOGRAPHY 76 [sMP87] A. De Santis, S. Micali, and G. Persiano. Non-interactive zeroknowledge proof systems. In Proc. CRYPTO 87, pages 52-72, I987. 9 [vAD99] S. Vadhan. A Study of StatisticalZero-Knowledge Proofi. PhD thesis, MIT, I999. 26, 3I [VAD04] S. Vadhan. An unconditional study of computational zero knowledge. In FOCS o4,pages I76-I85, 2004. 26 Index I8, 0 77