On the design and implementation of efficient zero-knowledge proofs of knowledge
| Venue: | In Software Performance Enhancements for Encryption and Decryption and Cryptographic Compilers – SPEED-CC 09 |
| Citations: | 2 - 1 self |
BibTeX
@INPROCEEDINGS{Bangerter_onthe,
author = {Endre Bangerter and Stephan Krenn and Ahmad-reza Sadeghi and Thomas Schneider and Joe-kai Tsay},
title = {On the design and implementation of efficient zero-knowledge proofs of knowledge},
booktitle = {In Software Performance Enhancements for Encryption and Decryption and Cryptographic Compilers – SPEED-CC 09},
year = {},
pages = {12--13}
}
OpenURL
Abstract
Abstract. Zero-knowledge proofs of knowledge (ZK-PoK) play an important role in many cryptographic applications. Direct anonymous attestation (DAA) and the identity mixer anonymous authentication system are first real world applications using ZK-PoK as building blocks. But although being used for many years now, design and implementation of sound ZK-PoK remains challenging. In fact, there are security flaws in various protocols found in literatur. Especially for non-experts in the field it is often hard to design ZK-PoK, since a unified and easy to use theoretical framework on ZK-PoK is missing. With this paper we overcome important challenges and facilitate the design and implementation of efficient and sound ZK-PoK in practice. First, Camenisch et al. have presented at EUROCRYPT 2009 a first unified and modular theoretical framework for ZK-PoK. This is compelling, but makes use of a rather inefficient 6-move protocol. We extend and improve their framework in terms of efficiency and show how to realize it using efficient 3-move Σ-protocols. Second, we perform an exact security and efficiency analysis for our new protocol and various protocols found in the literature. The analysis yields novel- and perhaps surprising- results and insights. It reveals for instance that using a 2048 bit RSA modulus, as specified in the DAA standard, only guarantees an upper bound on the success probability of a malicious prover between 1/2 4 and 1/2 24. Also, based on that analysis we show how to select the most efficient protocol to realize a given proof goal. Finally, we also provide low-level support to a designer by presenting a compiler realizing our framework and optimization techniques, allowing easy implementation of efficient and sound protocols.







