International Association for Cryptologic Research

International Association
for Cryptologic Research

CryptoDB

Mac'n'Cheese: Zero-Knowledge Proofs for Boolean and Arithmetic Circuits with Nested Disjunctions

Authors:
Carsten Baum , Aarhus University
Alex J. Malozemoff , Galois, Inc.
Marc B. Rosen , Galois, Inc.
Peter Scholl , Aarhus University
Download:
DOI: 10.1007/978-3-030-84259-8_4 (login may be required)
Search ePrint
Search Google
Conference: CRYPTO 2021
Abstract: Zero knowledge proofs are an important building block in many cryptographic applications. Unfortunately, when the proof statements become very large, existing zero-knowledge proof systems easily reach their limits: either the computational overhead, the memory footprint, or the required bandwidth exceed levels that would be tolerable in practice. We present an interactive zero-knowledge proof system for boolean and arithmetic circuits, called Mac'n'Cheese, with a focus on supporting large circuits. Our work follows the commit-and-prove paradigm instantiated using information-theoretic MACs based on vector oblivious linear evaluation to achieve high efficiency. We additionally show how to optimize disjunctions, with a general OR transformation for proving the disjunction of $m$ statements that has communication complexity proportional to the longest statement (plus an additive term logarithmic in $m$). These disjunctions can further be \emph{nested}, allowing efficient proofs about complex statements with many levels of disjunctions. We also show how to make Mac'n'Cheese non-interactive (after a preprocessing phase) using the Fiat-Shamir transform, and with only a small degradation in soundness. We have implemented the online phase of Mac'n'Cheese and achieve a runtime of 144~ns per AND gate and 1.5~$\mu$s per multiplication gate in $\mathbb{F}_{2^{61}-1}$ when run over a network with a 95~ms latency and a bandwidth of 31.5~Mbps. In addition, we show that the disjunction optimization improves communication as expected: when proving a boolean circuit with eight branches and each branch containing roughly 1 billion multiplications, Mac'n'Cheese requires only 75 more bytes to communicate than in the single branch case.
Video from CRYPTO 2021
BibTeX
@inproceedings{crypto-2021-31273,
  title={Mac'n'Cheese: Zero-Knowledge Proofs for Boolean and Arithmetic Circuits with Nested Disjunctions},
  publisher={Springer-Verlag},
  doi={10.1007/978-3-030-84259-8_4},
  author={Carsten Baum and Alex J. Malozemoff and Marc B. Rosen and Peter Scholl},
  year=2021
}