Cryptology ePrint Archive: Report 2009/211

Abstract: Efficient zero-knowledge proofs of knowledge (ZK-PoK) are basic
building blocks of many practical cryptographic applications
such as identification schemes, group signatures, and secure
multiparty computation. Currently, first applications that
critically rely on ZK-PoKs are being deployed in the real
world. The most prominent example is Direct Anonymous
Attestation (DAA), which was adopted by the Trusted Computing
Group (TCG) and implemented as one of the functionalities of
the cryptographic Trusted Platform Module (TPM) chip.

Implementing systems using ZK-PoK turns out to be challenging, since
ZK-PoK are, loosely speaking, significantly more complex than
standard crypto primitives, such as encryption and signature
schemes. As a result, implementation cycles of ZK-PoK are
time-consuming and error-prone, in particular for developers with
minor or no cryptographic skills.

In this paper we report on our ongoing and future research
vision with the goal to bring ZK-PoK to practice by making them
accessible to crypto and security engineers. To this end we are
developing compilers and related tools that support and partially
automate the design, implementation, verification and secure
implementation of ZK-PoK protocols.