228 research outputs found

    LegoSNARK: Modular Design and Composition of Succinct Zero-Knowledge Proofs

    Get PDF
    We study the problem of building SNARKs modularly by linking small specialized “proof gadgets SNARKs in a lightweight manner. Our motivation is both theoretical and practical. On the theoretical side, modular SNARK designs would be flexible and reusable. In practice, specialized SNARKs have the potential to be more efficient than general-purpose schemes, on which most existing works have focused. If a computation naturally presents different “components (e.g. one arithmetic circuit and one boolean circuit), a general-purpose scheme would homogenize them to a single representation with a subsequent cost in performance. Through a modular approach one could instead exploit the nuances of a computation and choose the best gadget for each component. Our contribution is LegoSNARK, a toolbox (or framework) for commit-and-prove zkSNARKs (CP-SNARKs) that includes: 1) General composition tools: build new CP-SNARKs from proof gadgets for basic relations simply\mathit{simply}. 2) A lifting tool: add commit-and-prove capabilities to a broad class of existing zkSNARKs efficiently\mathit{efficiently}. This makes them interoperable (linkable) within the same computation. For example, one QAP-based scheme can be used prove one component; another GKR-based scheme can be used to prove another. 3) A collection of succinct proof gadgets for a variety of relations. Additionally, through our framework and gadgets, we are able to obtain new succinct proof systems. Notably: – LegoGro16\mathsf{LegoGro16}, a commit-and-prove version of Groth16 zkSNARK, that operates over data committed with a classical Pedersen vector commitment, and that achieves a 5000×\times speed in proving time. – LegoUAC\mathsf{LegoUAC}, a pairing-based SNARK for arithmetic circuits that has a universal, circuit-independent, CRS, and proving time linear in the number of circuit gates (vs. the recent scheme of Groth et al. (CRYPTO\u2718) with quadratic CRS and quasilinear proving time). – CP-SNARKs for matrix multiplication that achieve optimal proving complexity. 4) A codebase written in C++\mathsf{++} for highly composable zkSNARKs with commit-and-prove capabilities^*. _______________ ^* Available at https://github.com/imdea-software/legosnark

    Witness Encryption for Succinct Functional Commitments and Applications

    Get PDF
    Witness encryption (WE), introduced by Garg, Gentry, Sahai, and Waters (STOC 2013) allows one to encrypt a message to a statement x\mathsf{x} for some NP language L\mathcal{L}, such that any user holding a witness for xL\mathsf{x} \in \mathcal{L} can decrypt the ciphertext. The extreme power of this primitive comes at the cost of its elusiveness: a practical construction from established cryptographic assumptions is currently out of reach. In this work we introduce and construct a new notion of encryption that has a strong flavor of WE and that, crucially, we can build from well-studied assumptions (based on bilinear pairings) for interesting classes of computation. Our new notion, witness encryption for (succinct) functional commitment, takes inspiration from a prior weakening of witness encryption introduced by Benhamouda and Lin (TCC 2020). In a nutshell, theirs is a WE where: the encryption statement consists of a (non compressible) commitment cm\mathsf{cm}, a function GG and a value yy; the decryption witness consists of a (non succinct) NIZK proof about the fact that cm\mathsf{cm} opens to vv such that y=G(v)y=G(v). Benhamouda and Lin showed how to apply this primitive to obtain MPC with non-interactive and reusability properties---dubbed mrNISC---replacing the requirement of WE in existing round-collapsing techniques. Our new WE-like notion is motivated by supporting both commitments of a fixed size and fixed decryption complexity, independent v|v|---in contrast to the work by Benhamouda and Lin where this complexity is linear. As a byproduct, our efficiency profile substantially improves the offline stage of mrNISC protocols. Our work solves the additional challenges that arise from relying on computationally binding commitments and computational soundness (of functional commitments), as opposed to statistical binding and unconditional soundness (of NIZKs), used in Benhamouda and Lin\u27s work. To tackle them, we not only modify their basic blueprint, but also model and instantiate different types of projective hash functions as building blocks. Furthermore, as one of our main contributions, we show the first pairing-based construction of functional commitments for NC1 circuits with linear verification. Our techniques are of independent interest and may highlight new avenues to design practical variants of witness encryption. As an additional contribution, we show that our new WE-flavored primitive and its efficiency properties are versatile: we discuss its further applications and show how to extend this primitive to better suit these settings

    Natively Compatible Super-Efficient Lookup Arguments and How to Apply Them

    Get PDF
    Lookup arguments allow an untrusted prover to commit to a vector fFn\vec f \in \mathbb{F}^n and show that its entries reside in a predetermined table tFN\vec t \in \mathbb{F}^N. One of their key applications is to augment general-purpose SNARKs making them more efficient on subcomputations that are hard to arithmetize. In order for this augmentation to work out, a SNARK and a lookup argument should have some basic level of compatibility with respect to the commitment on f\vec f. However, not all existing efficient lookup arguments are fully compatible with other efficient general-purpose SNARKs. This incompatibility can for example occur whenever SNARKs use multilinear extensions under the hood (e.g. Spartan) but the lookup argument is univariate in flavor (e.g. Caulk or cq\mathsf{cq}). In this paper we discuss how to widen the spectrum of super-efficient lookup arguments (where the proving time is independent of the size of the lookup table): we present a new construction inspired by cq\mathsf{cq}and based on multilinear polynomial encodings (MLE). Our construction is the first lookup argument for any table that is also natively compatible with MLE-based SNARKs at comparable costs with other state-of-the-art lookup arguments, particularly when the large table is unstructured. This case arises in various applications, such as using lookups to prove that the program in a virtual machine is fetching the right instruction and when proving the correct computation of floating point arithmetic (e.g., in verifiable machine learning). We also introduce a second more general construction: a compiler that, given any super-efficient lookup argument compatible with univariate SNARKs, converts it into a lookup argument compatible with MLE-based SNARKs with a very small overhead. Finally, we discuss SNARKs that we can compose with our constructions as well as approaches for this composition to work effectively

    Lookup Arguments: Improvements, Extensions and Applications to Zero-Knowledge Decision Trees

    Get PDF
    Lookup arguments allow to prove that the elements of a committed vector come from a (bigger) committed table. They enable novel approaches to reduce the prover complexity of general-purpose zkSNARKs, implementing “non-arithmetic operations” such as range checks, XOR and AND more efficiently. We extend the notion of lookup arguments along two directions and improve their efficiency: (1) we extend vector lookups to matrix lookups (where we can prove that a committed matrix is a submatrix of a committed table). (2) We consider the notion of zero-knowledge lookup argument that keeps the privacy of both the sub-vector/sub-matrix and the table. (3) We present new zero-knowledge lookup arguments, dubbed cq+, zkcq+ and cq++, more efficient than the state of art, namely the recent work by Eagen, Fiore and Gabizon named cq. Finally, we give a novel application of zero-knowledge matrix lookup argument to the domain of zero-knowledge decision tree where the model provider releases a commitment to a decision tree and can prove in zero-knowledge statistics over the committed data structure. Our scheme based on lookup arguments has succinct verification, prover’s time complexity asymptotically better than the state of the art, and is secure in a strong security model where the commitment to the decision tree can be malicious

    Lunar: a Toolbox for More Efficient Universal and Updatable zkSNARKs and Commit-and-Prove Extensions

    Get PDF
    We address the problem of constructing zkSNARKs whose SRS is universal\mathit{universal} – valid for all relations within a size-bound – and updatable\mathit{updatable} – a dynamic set of participants can add secret randomness to it indefinitely thus increasing confidence in the setup. We investigate formal frameworks and techniques to design efficient universal updatable zkSNARKs with linear-size SRS and their commit-and-prove variants. We achieve a collection of zkSNARKs with different tradeoffs. One of our constructions achieves the smallest proof size and proving time compared to the state of art for proofs for arithmetic circuits. The language supported by this scheme is a variant of R1CS, called R1CS-lite, introduced by this work. Another of our constructions supports directly standard R1CS and improves on previous work achieving the fastest proving time for this type of constraint systems. We achieve this result via the combination of different contributions: (1) a new algebraically-flavored variant of IOPs that we call Polynomial\mathit{Polynomial} Holographic\mathit{Holographic} IOPs\mathit{IOPs} (PHPs), (2) a new compiler that combines our PHPs with commit\mathit{commit}-and\mathit{and}-prove\mathit{prove}  zkSNARKs\mathit{\ zkSNARKs} for committed polynomials, (3) pairing-based realizations of these CP-SNARKs for polynomials, (4) constructions of PHPs for R1CS and R1CS-lite, (5) a variant of the compiler that yields a commit-and-prove universal zkSNARK

    Zero-Knowledge Proofs for Set Membership: Efficient, Succinct, Modular

    Get PDF
    We consider the problem of proving in zero knowledge that an element of a public set satisfies a given property without disclosing the element, i.e., for some uu, ``uSu \in S and P(u)P(u) holds\u27\u27. This problem arises in many applications (anonymous cryptocurrencies, credentials or whitelists) where, for privacy or anonymity reasons, it is crucial to hide certain data while ensuring properties of such data. We design new \textit{modular} and \textit{efficient} constructions for this problem through new \textit{commit-and-prove zero-knowledge systems for set membership}, i.e. schemes proving uSu \in S for a value uu that is in a public commitment cuc_u. We also extend our results to support {\em non-membership proofs}, i.e. proving uSu \notin S. Being commit-and-prove, our solutions can act as plug-and-play modules in statements of the form ``uSu \in S and P(u)P(u) holds\u27\u27 by combining our set (non-)membership systems with any other commit-and-prove scheme for P(u)P(u). Also, they work with Pedersen commitments over prime order groups which makes them compatible with popular systems such as Bulletproofs or Groth16. We implemented our schemes as a software library, and tested experimentally their performance. Compared to previous work that achieves similar properties---the clever techniques combining zkSNARKs and Merkle Trees in Zcash---our solutions offer more flexibility, shorter public parameters and 3.7×3.7 \times--30×30\times faster proving time for a set of size 2642^{64}

    Succinct Zero-Knowledge Batch Proofs for Set Accumulators

    Get PDF
    Cryptographic accumulators are a common solution to proving information about a large set SS. They allow one to compute a short digest of SS and short certificates of some of its basic properties, notably membership of an element. Accumulators also allow one to track set updates: a new accumulator is obtained by inserting/deleting a given element. In this work we consider the problem of generating membership and update proofs for {\em batches} of elements so that we can succinctly prove additional properties of the elements (i.e., proofs are of constant size regardless of the batch size), and we can preserve privacy. Solving this problem would allow obtaining blockchain systems with improved privacy and scalability. The state-of-the-art approach to achieve this goal is to combine accumulators (typically Merkle trees) with zkSNARKs. This solution is however expensive for provers and does not scale for large batches of elements. In particular, there is no scalable solution for proving batch membership proofs when we require zero-knowledge (a standard definition of privacy-preserving protocols). In this work we propose new techniques to efficiently use zkSNARKs with RSA accumulators. We design and implement two main schemes: 1) \harisa, which proves batch membership in zero-knowledge; 2) \insarisa, which proves batch updates. For batch membership, the prover in \harisa is orders of magnitude faster than existing approaches based on Merkle trees (depending on the hash function). For batch updates we get similar cost savings compared to approaches based on Merkle trees; we also improve over the recent solution of Ozdemir et al. [USENIX\u2720]

    The LIFE TRIAD of emergency general surgery

    Get PDF
    Emergency General Surgery (EGS) was identified as multidisciplinary surgery performed for traumatic and non-traumatic acute conditions during the same admission in the hospital by general emergency surgeons and other specialists. It is the most diffused surgical discipline in the world. To live and grow strong EGS necessitates three fundamental parts: emergency and elective continuous surgical practice, evidence generation through clinical registries and data accrual, and indications and guidelines production: the LIFE TRIAD.Peer reviewe

    Acute diverticulitis management: evolving trends among Italian surgeons. A survey of the Italian Society of Colorectal Surgery (SICCR)

    Get PDF
    Acute diverticulitis (AD) is associated with relevant morbidity/mortality and is increasing worldwide, thus becoming a major issue for national health systems. AD may be challenging, as clinical relevance varies widely, ranging from asymptomatic picture to life-threatening conditions, with continuously evolving diagnostic tools, classifications, and management. A 33-item-questionnaire was administered to residents and surgeons to analyze the actual clinical practice and to verify the real spread of recent recommendations, also by stratifying surgeons by experience. CT-scan remains the mainstay of AD assessment, including cases presenting with recurrent mild episodes or women of child-bearing age. Outpatient management of mild AD is slowly gaining acceptance. A conservative management is preferred in non-severe cases with extradigestive air or small/non-radiologically drainable abscesses. In severe cases, a laparoscopic approach is preferred, with a non-negligible number of surgeons confident in performing emergency complex procedures. Surgeons are seemingly aware of several options during emergency surgery for AD, since the rate of Hartmann procedures does not exceed 50% in most environments and damage control surgery is spreading in life-threatening cases. Quality of life and history of complicated AD are the main indications for delayed colectomy, which is mostly performed avoiding the proximal vessel ligation, mobilizing the splenic flexure and performing a colorectal anastomosis. ICG is spreading to check anastomotic stumps' vascularization. Differences between the two experience groups were found about the type of investigation to exclude colon cancer (considering the experience only in terms of number of colectomies performed), the size of the peritoneal abscess to be drained, practice of damage control surgery and the attitude towards colovesical fistula
    corecore