8 research outputs found

    Proximity Gaps for Reed-Solomon Codes

    Get PDF
    A collection of sets displays a proximity gap with respect to some property if for every set in the collection, either (i) all members are δ\delta-close to the property in relative Hamming distance or (ii) only a tiny fraction of members are δ\delta-close to the property. In particular, no set in the collection has roughly half of its members δ\delta-close to the property and the others δ\delta-far from it. We show that the collection of affine spaces displays a proximity gap with respect to Reed--Solomon (RS) codes, even over small fields, of size polynomial in the dimension of the code, and the gap applies to any δ\delta smaller than the Johnson/Guruswami-Sudan list-decoding bound of the RS code. We also show near-optimal gap results, over fields of (at least) linear size in the RS code dimension, for δ\delta smaller than the unique decoding radius. Concretely, if δ\delta is smaller than half the minimal distance of an RS code V⊂FqnV\subset {\mathbb F}_q^n, every affine space is either entirely δ\delta-close to the code, or alternatively at most an (n/q)(n/q)-fraction of it is δ\delta-close to the code. Finally, we discuss several applications of our proximity gap results to distributed storage, multi-party cryptographic protocols, and concretely efficient proof systems. We prove the proximity gap results by analyzing the execution of classical algebraic decoding algorithms for Reed--Solomon codes (due to Berlekamp-Welch and Guruswami-Sudan) on a formal element of an affine space. This involves working with Reed-Solomon codes whose base field is an (infinite) rational function field. Our proofs are obtained by developing an extension (to function fields) of a strategy of Arora and Sudan for analyzing low-degree tests

    Vortex: A List Polynomial Commitment and its Application to Arguments of Knowledge

    Get PDF
    A list polynomial commitment scheme (LPC) is a polynomial commitment scheme with a relaxed binding property. Namely, in an LPC setting, a commitment to a function f(X)f(X) can be opened to a list of low-degree polynomials close to f(X)f(X) (w.r.t. the relative Hamming distance and over a domain DD). The scheme also allows opening one of the polynomials of the list at an arbitrary point xx and convincing a verifier that one of the polynomials in the list evaluates to the purported value. Vortex is a list polynomial commitment, obtained through a modification of Ligero (CCS 2017), inspired by the schemes of Brakedown (Crypto 2023), batch-FRI (FOCS 2020), and RedShift (CCS 2022). Concerning one application of Vortex, for a witness of size NN, the messages between the prover and the verifier are of size O(N1/2)O(N^{1/2}). Vortex is a core component of the SNARK used by the prover of Linea (Consensys). This paper provides a complete security analysis for Vortex. We use a general compiler to build an Argument of Knowledge (AoK) by combining our list polynomial commitment and a polynomial-IOP (PIOP). The approach is similar to combining a PIOP with a polynomial commitment scheme and has a soundness loss only linear in the list size. This overcomes a previous limitation in the standard compiler from a generic PIOP and a list polynomial commitment scheme to an interactive argument of knowledge, which suffers from a soundness loss of O(∣L∣r)\mathcal{O}(|L|^r) (where ∣L∣|L| is the list size and rr is the number of interactions between the prover and the verifier in the PIOP)

    Succinct Proofs and Linear Algebra

    Get PDF
    The intuitions behind succinct proof systems are often difficult to separate from some of the deep cryptographic techniques that are used in their construction. In this paper, we show that, using some simple abstractions, a number of commonly-used tools used in the construction of succinct proof systems may be viewed as basic consequences of linear algebra over finite fields. We introduce notation which considerably simplifies these constructions and slowly build a toolkit of useful techniques that can be combined to create different protocols. We also show a simple \u27probabilistic calculus\u27 which specifies how to combine these tools and bounds on their resulting security. To show the power of these abstractions and toolkit, we give a short proof of the security of the FRI protocol. Along the way, we discuss some natural generalizations of protocols in the literature and propose a conjecture related to proximity testing using linear error-correcting codes that is of independent interest

    RedShift: Transparent SNARKs from List Polynomial Commitments

    Get PDF
    We introduce an efficient transformation from univariate polynomial commitment based zk-SNARKs to their transparent counterparts. The transformation is achieved with the help of a new IOP primitive which we call a list polynomial commitment. This primitive is applicable for preprocessing zk-SNARKs over both prime and binary fields. We present the primitive itself along with a soundness analysis of the transformation and instantiate it with an existing universal proof system. We also present benchmarks for a proof of concept implementation alongside a comparison with the current non-transparent state-of-the-art. Our results show competitive efficiency both in terms of proof size and generation times. At the 80-bit security level, our benchmarks provide proof generation times of about a minute and proof sizes of around 515 KB for a circuit with one million gates

    HELIOPOLIS: Verifiable Computation over Homomorphically Encrypted Data from Interactive Oracle Proofs is Practical

    Get PDF
    Homomorphic encryption (HE) enables computation on encrypted data, which in turn facilitates the outsourcing of computation on private data. However, HE offers no guarantee that the returned result was honestly computed by the cloud. In order to have such guarantee, it is necessary to add verifiable computation (VC) into the system. The most efficient recent works in VC over HE focus on verifying operations on the ciphertext space of the HE scheme, which usually lacks the algebraic structure that would make it compatible with existing VC systems. For example, multiplication of ciphertexts in the current most efficient HE schemes requires non-algebraic operations such as real division and rounding. Therefore, existing works for VC over HE have to either give up on those efficient HE schemes, or incur a large overhead (an amount of constraints proportional to the ciphertext ring\u27s size) in order to emulate these non-algebraic operations. In this work, we move away from that paradigm by placing the verification checks in the plaintext space of HE, all while the prover remains computing on ciphertexts. We achieve this by introducing a general transformation for Interactive Oracle Proofs (IOPs) to work over HE, whose result we denote as HE-IOPs. We apply this same transformation to the FRI [Ben-Sasson et al., ICALP 2018] IOP of proximity and we show how to compile HE-Reed Solomon-encoded IOPs and HE-δ\delta-correlated-IOPs with HE-FRI into HE-IOPs. Furthermore, our construction is compatible with a prover that provides input in zero-knowledge, and only relies on building blocks that are plausibly quantum-safe. Aligning the security parameters of HE and FRI is a difficult task for which we introduce several optimizations. We demonstrate their efficiency with a proof-of-concept implementation in Python and show that, for an encrypted Reed Solomon codeword with degree bound 2112^{11} and rate 1/161/16 in a (plaintext) field of size 22562^{256}, we can run FRI\u27s commit phase in just 43 minutes on a single thread on a c6i.metal instance (which could be reduced to less than a minute in a multi-threaded implementation in a large server). Verification takes less than 0.2 seconds, and, based on micro-benchmarks of the employed techniques, we show it could be up to 100 times faster in a fully optimized implementation

    On Interactive Oracle Proofs for Boolean R1CS Statements

    Get PDF
    The framework of interactive oracle proofs (IOP) has been used with great success to construct a number of efficient transparent zk-SNARKs in recent years. However, these constructions are based on Reed-Solomon codes and can only be applied directly to statements given in the form of arithmetic circuits or R1CS over large fields F\mathbb{F} since their soundness error is at least 1/∣F∣1/|\mathbb{F}|. This motivates the question of what is the best way to apply these IOPs to statements that are naturally written as R1CS over small fields, and more concretely, the binary field F2\mathbb{F}_2. While one can just see the system as one over an extension field F2e\mathbb{F}_{2^e} containing F2\mathbb{F}_2, this seems wasteful, as it uses ee bits to encode just one ``information\u27\u27 bit. In fact, the recent BooLigero has devised a way to apply the well-known Ligero while being able to encode e\sqrt{e} bits into one element of F2e\mathbb{F}_{2^e}. In this paper, we introduce a new protocol for F2\mathbb{F}_2-R1CS which among other things relies on a more efficient embedding which (for practical parameters) allows to encode ≥e/4\geq e/4 bits into an element of F2e\mathbb{F}_{2^e}. Our protocol makes then black box use of lincheck and rowcheck protocols for the larger field. Using the lincheck and rowcheck introduced in Aurora and Ligero respectively we obtain 1.31−1.65×1.31 - 1.65 \times smaller proofs for Aurora and 3.71×3.71 \times for Ligero. We also estimate the reduction of prover time by a factor of 24.7×24.7 \times for Aurora and between 6.9−32.5×6.9 - 32.5 \times for Ligero without interactive repetitions. Our methodology uses the notion of reverse multiplication friendly embeddings introduced in the area of secure multiparty computation, combined with a new IOPP to test linear statements modulo a subspace V≤F2eV \leq \mathbb{F}_{2^e} which may be of independent interest

    eSTARK: Extending STARKs with Arguments

    Get PDF
    STARK is a widely used transparent proof system that uses low-degree tests for proving the correctness of a computer program. STARK consumes an intermediate representation known as AIR that is more appropriate for programs with a relatively short and structured description. However, an AIR is not able to succinctly express non-equality constraints, leading to the incorporation of unwanted polynomials. We present the eSTARK protocol, a new probabilistic proof that generalizes the STARK family through the introduction of a more generic intermediate representa- tion called eAIR. We describe eSTARK in the polynomial IOP model, which com- bines the optimized version of the STARK protocol with the incorporation of three arguments into the protocol. We also explain various techniques that enhance the vanilla STARK complexity, including optimizations applied to polynomial computa- tions, and analyze the tradeoffs between controlling the constraint degree either at the representation of the AIR or inside the eSTARK itself

    Brakedown: Linear-time and field-agnostic SNARKs for R1CS

    Get PDF
    This paper introduces Brakedown, the first built system that provides linear-time SNARKs for NP, meaning the prover incurs O(N)O(N) finite field operations to prove the satisfiability of an NN-sized R1CS instance. Brakedown’s prover is faster, both concretely and asymptotically, than prior SNARK implementations. Brakedown does not require a trusted setup and is plausibly post-quantum secure. Furthermore, it is compatible with arbitrary finite fields of sufficient size; this property is new amongst implemented arguments with sublinear proof sizes. To design Brakedown, we observe that recent work of Bootle, Chiesa, and Groth (BCG, TCC 2020) provides a polynomial commitment scheme that, when combined with the linear-time interactive proof system of Spartan (CRYPTO 2020), yields linear-time IOPs and SNARKs for R1CS (a similar theoretical result was previously established by BCG, but our approach is conceptually simpler, and crucial for achieving high-speed SNARKs). A core ingredient in the polynomial commitment scheme that we distill from BCG is a linear-time encodable code. Existing constructions of such codes are believed to be impractical. Nonetheless, we design and engineer a new one that is practical in our context. We also implement a variant of Brakedown that uses Reed-Solomon codes instead of our linear-time encodable codes; we refer to this variant as Shockwave. Shockwave is not a linear-time SNARK, but it provides shorter proofs and lower verification times than Brakedown (it also provides a faster prover than prior plausibly post-quantum SNARKs)
    corecore