International Association for Cryptologic Research

International Association
for Cryptologic Research

CryptoDB

Rinocchio: SNARKs for Ring Arithmetic

Authors:
Chaya Ganesh
Anca Nitulescu
Eduardo Soria-Vazquez
Download:
DOI: 10.1007/s00145-023-09481-3
Search ePrint
Search Google
Abstract: Succinct non-interactive arguments of knowledge (SNARKs) enable non-interactive efficient verification of NP computations and admit short proofs. However, all current SNARK constructions assume that the statements to be proven can be efficiently represented as either Boolean or arithmetic circuits over finite fields. For most constructions, the choice of the prime field $${\mathbb {F}}_{p}$$ F p is limited by the existence of groups of matching order for which secure bilinear maps exist. In this work, we overcome such restrictions and enable verifying computations over rings. We construct the first designated-verifier SNARK for statements which are represented as circuits over a broader kind of commutative rings. Our contribution is threefold: 1. We first introduce Quadratic Ring Programs (QRPs) as a characterization of NP where the arithmetic is over a ring. 2. Second, inspired by the framework in Gennaro et al. (in: Johansson and Nguyen (eds) EUROCRYPT 2013, volume 7881 of LNCS, pp 626–645. Springer, Heidelberg, 2013), we design SNARKs over rings in a modular way. We generalize preexistent assumptions employed in field-restricted SNARKs to encoding schemes over rings. As our encoding notion is generic in the choice of the ring, it is amenable to different settings. 3. Finally, we propose two applications for our SNARKs. Our first application is verifiable computation over encrypted data, specifically for evaluations of Ring-LWE-based homomorphic encryption schemes. In the second one, we use Rinocchio to naturally prove statements about circuits over, e.g., $${\mathbb {Z}}_{2^{64}}$$ Z 2 64 , which closely matches real-life computer architectures such as standard CPUs.
BibTeX
@article{jofc-2023-33822,
  title={Rinocchio: SNARKs for Ring Arithmetic},
  journal={Journal of Cryptology},
  publisher={Springer},
  volume={36},
  doi={10.1007/s00145-023-09481-3},
  author={Chaya Ganesh and Anca Nitulescu and Eduardo Soria-Vazquez},
  year=2023
}