Paper 2017/013
Pinocchio-Based Adaptive zk-SNARKs and Secure/Correct Adaptive Function Evaluation
Meilof Veeningen
Abstract
Pinocchio is a practical zk-SNARK that allows a prover to perform cryptographically verifiable computations with verification effort sometimes less than performing the computation itself. A recent proposal showed how to make Pinocchio adaptive (or ``hash-and-prove''), i.e., to enable proofs with respect to computation-independent commitments. This enables computations to be chosen after the commitments have been produced, and for data to be shared in different computations in a flexible way. Unfortunately, this proposal is not zero-knowledge. In particular, it cannot be combined with Trinocchio, a system in which Pinocchio is outsourced to three workers that do not learn the inputs thanks to multi-party computation (MPC). In this paper, we show how to make Pinocchio adaptive in a zero-knowledge way; apply it to make Trinocchio work on computation-independent commitments; present tooling to easily program fleible verifiable computations (with or without MPC); and use it to build a prototype in a medical research case study.
Metadata
- Available format(s)
- Category
- Cryptographic protocols
- Publication info
- Published elsewhere. Minor revision. Proceedings AFRICACRYPT 2017
- Keywords
- multi-party computationverifiable computation
- Contact author(s)
- meilof veeningen @ philips com
- History
- 2017-06-21: last of 2 revisions
- 2017-01-11: received
- See all versions
- Short URL
- https://ia.cr/2017/013
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2017/013, author = {Meilof Veeningen}, title = {Pinocchio-Based Adaptive zk-{SNARKs} and Secure/Correct Adaptive Function Evaluation}, howpublished = {Cryptology {ePrint} Archive, Paper 2017/013}, year = {2017}, url = {https://eprint.iacr.org/2017/013} }