Zero-knowledge proofs are an essential building block in many privacy-preserving systems. However, implementing these proofs is tedious and error-prone. In this paper, we present zksk, a well-documented Python library for defining and computing sigma protocols: the most popular class of zero-knowledge proofs. In zksk, proofs compose: programmers can convert smaller proofs into building blocks that then can be combined into bigger proofs. zksk features a modern Python-based domain-specific language. This makes possible to define proofs without learning a new custom language, and to benefit from the rich Python syntax and ecosystem. The library is available at https://github.com/spring-epfl/zksk
@article{arxiv.1911.02459,
title = {zksk: A Library for Composable Zero-Knowledge Proofs},
author = {Wouter Lueks and Bogdan Kulynych and Jules Fasquelle and Simon Le Bail-Collet and Carmela Troncoso},
journal= {arXiv preprint arXiv:1911.02459},
year = {2019}
}
Comments
Appears in 2019 Workshop on Privacy in the Electronic Society (WPES'19)