International Association for Cryptologic Research

International Association
for Cryptologic Research


Paper: A Certifying Compiler for Zero-Knowledge Proofs of Knowledge Based on $\Sigma$-Protocols

José Bacelar Almeida
Manuel Barbosa
Endre Bangerter
Stephan Krenn
Ahmad-Reza Sadeghi
Thomas Schneider
Search ePrint
Search Google
Abstract: Zero-knowledge proofs of knowledge (ZK-PoK) are important building blocks for numerous cryptographic applications. Although ZK-PoK have very useful properties, their real world deployment is typically hindered by their significant complexity compared to other (non-interactive) crypto primitives. Moreover, their design and implementation is time-consuming and error-prone. We contribute to overcoming these challenges as follows: We present a comprehensive specification language and a certifying compiler for ZK-PoK protocols based on $\Sigma$-protocols and composition techniques known in literature. The compiler allows the fully automatic translation of an abstract description of a proof goal into an executable implementation. Moreover, the compiler overcomes various restrictions of previous approaches, e.g., it supports the important class of exponentiation homomorphisms with hidden-order co-domain, needed for privacy-preserving applications such as idemix. Finally, our compiler is certifying, in the sense that it automatically produces a formal proof of security (soundness) of the compiled protocol (currently covering special homomorphisms) using the Isabelle/HOL theorem prover.
  title={A Certifying Compiler for Zero-Knowledge Proofs of Knowledge Based on $\Sigma$-Protocols},
  booktitle={IACR Eprint archive},
  keywords={implementation / Zero-Knowledge, Protocol Compiler, Formal Verification},
  note={An extended abstract of this work will be presented at ESORICS 2010; 14825 received 10 Jun 2010, last revised 4 Aug 2010},
  author={José Bacelar Almeida and Manuel Barbosa and Endre Bangerter and Stephan Krenn and Ahmad-Reza Sadeghi and Thomas Schneider},