Zero-Knowledge for Finite Field Arithmetic or: Can Zero-Knowledge be for Free?
Ronald Cramer and Ivan Damgård
Advances in Cryptology — CRYPTO '98, Lecture Notes in Computer Science, Springer-Verlag, vol. 1462, pp. 424–441, Aug 1998.
We present a general method for constructing commitment schemes based on existence of -one way group homomorphisms, in which elements in a finite prime field can be committed to. A receiver of commitments can non-interactively check whether committed values satisfy linear equations. Multiplicative relations can be verified interactively with exponentially small error, while communicating only a constant number of commitments. Particular assumptions sufficient for our commitment schemes include: the RSA assumption, hardness of discrete log in a prime order group, and polynomial security of Diffie-Hellman encryption. Based on these commitments, we give efficient zero-knowledge proofs and arguments for arithmetic circuits over finite prime fields, namely given such a circuit, show in zero-knowledge that inputs can be selected leading to a given output. For a field , where is an -bit prime, a circuit of size , and error probability , our protocols require communication of bits. We then look at the Boolean Circuit Satisfiability problem and give non-interactive zero-knowledge proofs and arguments with preprocessing. In the proof stage, the prover can prove any circuit of size he wants by sending only one message of size bits. As a final application, we show that Shamirs (Shens) interactive proof system for the (IP-complete) QBF problem can be transformed to a zero-knowledge proof system with the same asymptotic communication complexity and number of rounds.
BibTeX Citation
@inproceedings{CraDam98,
author = {Ronald Cramer and Ivan Damgård},
title = {Zero-Knowledge for Finite Field Arithmetic or: Can Zero-Knowledge be for Free?},
editor = {Hugo Krawczyk},
booktitle = {Advances in Cryptology --- CRYPTO~'98},
pages = {424--441},
series = {Lecture Notes in Computer Science},
volume = {1462},
year = {1998},
month = {8},
publisher = {Springer-Verlag},
}