| Cryptology and Information Security Group Research Project: Zero-Knowledge Proofs |
Zero-knowledge proofs are probabilistic and interactive proofs that efficiently demonstrate membership in the language without conveying any additional knowledge. Zero-knowledge proofs were introduced by Goldwasser, Micali and Rackoff in The Knowledge Complexity of Interactive Proof Systems (SIAM J. of Comuting, January 1989). The wide applicability of zero-knowledge was demonstrated in Proofs that Yield Nothing But their Validity or All Languages in NP have Zero-Knowledge Proofs, coauthored by Goldreich, Micali and Wigderson [JACM, July 1991]. In particular, assuming the existence of one-way functions, they showed that every language in NP has a zero-knowledge proof system. This work is not available on-line, yet most of the material is covered in Foundations of Cryptography - Fragments of a Book [by Oded Goldreich]. (See also an extract of the relevant part.)
The general result cited above leaves open the question of designing practical zero-knowledge proof systems for specific tasks. One of our current aims is to provide techniques and tools which may be useful towards such a task. Our work in this direction includes
The transformation also applies to public-coin (aka Arthur-Merlin) computational zero-knowledge proofs: that is, it transforms any Arthur-Merlin proof system which is computational zero-knowledge with respect to the honest-verifier, into an Arthur-Merlin proof system which is computational zero-knowledge with respect to any probabilistic polynomial-time verifier.
We introduce timing in order to obtain zero-knowledge in concurrent executions. We assume that the adversary is constrained in its control over processors' clocks by what we call an (alpha,beta)-constraint for some alpha, beta: for any two processors P1 and P2, if P1 measures alpha elapsed time on its local clock and P2 measures beta elapsed time on its local clock, and P2 starts after P1 does, then P2 will finish after P1 does. We obtain four-round almost concurrent zero-knowledge interactive proofs and perfect concurrent zero-knowledge arguments for every language in NP. We also address the more specific problem of Deniable Authentication, for which we propose efficient solutions.
In this paper, we continue the study of concurrent zero-knowledge arguments. After observing that, without recourse to timing, the existence of a Trusted Center considerably simplifies the design and proof of many concurrent zero-knowledge arguments (again including arguments for all of NP), we design a preprocessing protocol, making use of timing, to simulate the Trusted Center for the purposes of achieving concurrent zero-knowledge. Once a particular prover and verifier have executed the preprocessing protocol, any polynomial number of subsequent executions of a rich class of protocols will be concurrent zero-knowledge. Thus, we push all use of timing into a preprocessing phase, executed once for each (P,V), whenever in real time they choose to do it, and serving all their (polynomially many) future interaction needs.
We introduce the notion of Resettable Zero-Knowledge (rZK), a new security measure for cryptographic protocols which strengthens the classical notion of zero-knowledge. In essence, an rZK protocol is one that remains zero knowledge even if an adeversary can interact with the prover many times, each time resetting the prover to its initial state and forcing him to use the same random tape.
Under general complexity asumptions, which hold for example if the Discrete Logarithm Problem is hard, we construct (1) rZK proof-systems for NP: (2) constant-round resettable witness-indistinguishable proof-systems for NP; and (3) constant-round rZK arguments for NP in the public key model where verifiers have fixed, public keys associated with them.
In addition to shedding new light on what makes zero knowledge possible (by constructing ZK protocols that use randomness in a dramatically weaker way than before), rZK has great relevance to applications. Firstly, we show that rZK protocols are closed under parallel and concurrent execution and thus are guaranteed to be secure when implemented in fully asynchronous networks, even if an adversary schedules the arrival of every message sent. Secondly, rZK protocols enlarge the range of physical ways in which provers of a ZK protocols can be securely implemented, including devices which cannot reliably toss coins on line, nor keep state betweeen invocations. (For instance, because ordinary smart cards with secure hardware are resattable, they could not be used to implement securely the provers of classical ZK protocols, but can now be used to implement securely the provers of rZK protocols.)