233 research outputs found

    Square Span Programs with Applications to Succinct NIZK Arguments

    Get PDF
    We use SSPs to construct succinct non-interactive zero-knowledge arguments of knowledge. For performance, our proof system is defined over Type III bilinear groups; proofs consist of just 4 group elements, verified in just 6 pairings. Concretely, using the Pinocchio libraries, we estimate that proofs will consist of 160 bytes verified in less than 6 ms

    Spartan: Efficient and general-purpose zkSNARKs without trusted setup

    Get PDF
    This paper introduces Spartan, a new family of zero-knowledge succinct non-interactive arguments of knowledge (zkSNARKs) for the rank-1 constraint satisfiability (R1CS), an NP-complete language that generalizes arithmetic circuit satisfiability. A distinctive feature of Spartan is that it offers the first zkSNARKs without trusted setup (i.e., transparent zkSNARKs) for NP where verifying a proof incurs sub-linear costs—without requiring uniformity in the NP statement’s structure. Furthermore, Spartan offers zkSNARKs with a time-optimal prover, a property that has remained elusive for nearly all zkSNARKs in the literature. To achieve these results, we introduce new techniques that we compose with the sum-check protocol, a seminal interactive proof protocol: (1) computation commitments, a primitive to create a succinct commitment to a description of a computation; this technique is crucial for a verifier to achieve sub-linear costs after investing a one-time, public computation to preprocess a given NP statement; (2) SPARK, a cryptographic compiler to transform any existing extractable polynomial commitment scheme for multilinear polynomials to one that efficiently handles sparse multilinear polynomials; this technique is critical for achieving a time-optimal prover; and (3) a compact encoding of an R1CS instance as a low-degree polynomial. The end result is a public-coin succinct interactive argument of knowledge for NP (which can be viewed as a succinct variant of the sum-check protocol); we transform it into a zkSNARK using prior techniques. By applying SPARK to different commitment schemes, we obtain several zkSNARKs where the verifier’s costs and the proof size range from O(log2n)O(log^2{n}) to O(n)O(\sqrt{n}) depending on the underlying commitment scheme (nn denotes the size of the NP statement). These schemes do not require a trusted setup except for one that requires a universal trusted setup. We implement Spartan as a library in about 8,000 lines of Rust. We use the library to build a transparent zkSNARK in the random oracle model where security holds under the discrete logarithm assumption. We experimentally evaluate it and compare it with recent zkSNARKs for R1CS instance sizes up to 2202^{20} constraints. Among transparent zkSNARKs, Spartan offers the fastest prover with speedups of 3636--152×152\times depending on the baseline, produces proofs that are shorter by 1.21.2--416×416\times, and incurs the lowest verification times with speedups of 3.63.6--1326×1326\times. The only exception is proof sizes under Bulletproofs, but Bulletproofs incurs slower verification both asymptotically and concretely. When compared to the state-of-the-art zkSNARK with trusted setup, Spartan’s prover is 2×2\times faster for arbitrary R1CS instances and 16×16\times faster for data-parallel workloads. Spartan’s code is available from: https://github.com/Microsoft/Spartan

    Fast Reed-Solomon Interactive Oracle Proofs of Proximity

    Get PDF
    The family of Reed-Solomon (RS) codes plays a prominent role in the construction of quasilinear probabilistically checkable proofs (PCPs) and interactive oracle proofs (IOPs) with perfect zero knowledge and polylogarithmic verifiers. The large concrete computational complexity required to prove membership in RS codes is one of the biggest obstacles to deploying such PCP/IOP systems in practice. To advance on this problem we present a new interactive oracle proof of proximity (IOPP) for RS codes; we call it the Fast RS IOPP (FRI) because (i) it resembles the ubiquitous Fast Fourier Transform (FFT) and (ii) the arithmetic complexity of its prover is strictly linear and that of the verifier is strictly logarithmic (in comparison, FFT arithmetic complexity is quasi-linear but not strictly linear). Prior RS IOPPs and PCPs of proximity (PCPPs) required super-linear proving time even for polynomially large query complexity. For codes of block-length N, the arithmetic complexity of the (interactive) FRI prover is less than 6 * N, while the (interactive) FRI verifier has arithmetic complexity <= 21 * log N, query complexity 2 * log N and constant soundness - words that are delta-far from the code are rejected with probability min{delta * (1-o(1)),delta_0} where delta_0 is a positive constant that depends mainly on the code rate. The particular combination of query complexity and soundness obtained by FRI is better than that of the quasilinear PCPP of [Ben-Sasson and Sudan, SICOMP 2008], even with the tighter soundness analysis of [Ben-Sasson et al., STOC 2013; ECCC 2016]; consequently, FRI is likely to facilitate better concretely efficient zero knowledge proof and argument systems. Previous concretely efficient PCPPs and IOPPs suffered a constant multiplicative factor loss in soundness with each round of "proof composition" and thus used at most O(log log N) rounds. We show that when delta is smaller than the unique decoding radius of the code, FRI suffers only a negligible additive loss in soundness. This observation allows us to increase the number of "proof composition" rounds to Theta(log N) and thereby reduce prover and verifier running time for fixed soundness

    Subversion-Resistant Simulation (Knowledge) Sound NIZKs

    Get PDF
    In ASIACRYPT 2016, Bellare, Fuchsbauer, and Scafuro studied the security of non-interactive zero-knowledge (NIZK) arguments in the face of parameter subversion. They showed that achieving subversion soundness (soundness without trusting to the third party) and standard zero-knowledge is impossible at the same time. On the positive side, in the best case, they showed that one can achieve subversion zero-knowledge (zero-knowledge without trusting to the third party) and soundness at the same time. In this paper, we show that one can amplify their best positive result and construct NIZK arguments that can achieve subversion zero-knowledge and simulation\textit{simulation} (knowledge) soundness at the same time. Simulation (knowledge) soundness is a stronger notion in comparison with (knowledge) soundness, as it also guarantees non-malleability of proofs. Such a stronger security guarantee is a must in practical systems. To prove the result, we show that given a NIZK argument that achieves Sub-ZK and (knowledge) soundness, one can use an OR-based construction to define a new language and build a NIZK argument that will guarantee Sub-ZK and simulation\textit{simulation} (knowledge) soundness at the same time. We instantiate the construction with the state-of-the-art zk-SNARK proposed by Groth [Eurocrypt 2016] and obtain an efficient SNARK that guarantees Sub-ZK and simulation knowledge soundness

    Lattice-Based zk-SNARKs from Square Span Programs

    Get PDF
    Zero-knowledge SNARKs (zk-SNARKs) are non-interactive proof systems with short (i.e., independent of the size of the witness) and efficiently verifiable proofs. They elegantly resolve the juxtaposition of individual privacy and public trust, by providing an efficient way of demonstrating knowledge of secret information without actually revealing it. To this day, zk-SNARKs are widely deployed all over the planet and are used to keep alive a system worth billion of euros, namely the cryptocurrency Zcash. However, all current SNARKs implementations rely on so-called pre-quantum assumptions and, for this reason, are not expected to withstand cryptanalitic efforts over the next few decades. In this work, we introduce a new zk-SNARK that can be instantiated from lattice-based assumptions, and which is thus believed to be post-quantum secure. We provide a generalization in the spirit of Gennaro et al. (Eurocrypt'13) to the SNARK of Danezis et al. (Asiacrypt'14) that is based on Square Span Programs (SSP) and relies on weaker computational assumptions. We focus on designated-verifier proofs and propose a protocol in which a proof consists of just 5 LWE encodings. We provide a concrete choice of parameters, showing that our construction is practically instantiable

    Mitte-interaktiivsed nullteadmusprotokollid nÔrgemate usalduseeldustega

    Get PDF
    VĂ€itekirja elektrooniline versioon ei sisalda publikatsiooneTĂ€ieliku koosluskindlusega (TK) kinnitusskeemid ja nullteadmustĂ”estused on ĂŒhed pĂ”hilisemad krĂŒptograafilised primitiivid, millel on hulgaliselt pĂ€riselulisi rakendusi. (TK) Kinnitusskeem vĂ”imaldab osapoolel arvutada salajasest sĂ”numist kinnituse ja hiljem see verifitseeritaval viisil avada. TĂ€ieliku koosluskindlusega protokolle saab vabalt kombineerida teiste tĂ€ieliku koosluskindlusega protokollidega ilma, et see mĂ”jutaks nende turvalisust. NullteadmustĂ”estus on protokoll tĂ”estaja ja verifitseerija vahel, mis vĂ”imaldab tĂ”estajal veenda verifitseerijat mingi vĂ€ite paikapidavuses ilma rohkema informatsiooni lekitamiseta. NullteadmustĂ”estused pakuvad suurt huvi ka praktilistes rakendustes, siinkohal on olulisemateks nĂ€ideteks krĂŒptorahad ja hajusandmebaasid ĂŒldisemalt. Siin on eriti asjakohased just lĂŒhidad mitteinteraktiivsed nullteadmustĂ”estused (SNARKid) ning kvaasiadaptiivsed mitteinteraktiivsed nullteadmustĂ”estused (QA-NIZKid). Mitteinteraktiivsetel nullteadmustĂ”estustel juures on kaks suuremat praktilist nĂ”rkust. Esiteks on tarvis usaldatud seadistusfaasi osapoolte ĂŒhisstringi genereerimiseks ja teiseks on tarvis tĂ€ielikku koosluskindlust. KĂ€esolevas doktoritöös me uurime neid probleeme ja pakume vĂ€lja konkreetseid konstruktsioone nende leevendamiseks. Esmalt uurime me ÔÔnestuskindlaid SNARKe juhu jaoks, kus seadistusfaasi ĂŒhisstring on ÔÔnestatud. Me konstrueerime ÔÔnestuskindla versiooni seni kĂ”ige tĂ”husamast SNARKist. Samuti uurime me QA-NIZKide ÔÔnestuskindlust ja konstrueerime kĂ”ige efektiivsemate QA-NIZKide ÔÔnestuskindla versiooni. Mis puutub teise uurimissuunda, nimelt tĂ€ielikku koosluskindlusesse, siis sel suunal kasutame me pidevaid projektiivseid rĂ€sifunktsioone. Me pakume vĂ€lja uue primitiivi, kus eelmainitud rĂ€sifunktsioonid on avalikult verifitseeritavad. Nende abil me konstrueerime seni kĂ”ige tĂ”husama mitteinteraktiivse koosluskindla kinnitusskeemi. LĂ”petuseks me töötame vĂ€lja uue vĂ”tte koosluskindlate kinnitusskeemide jaoks, mis vĂ”imaldab ĂŒhisarvutuse abil luua nullteadmustĂ”estuste ĂŒhisstringe.Quite central primitives in cryptographic protocols are (Universally composable (UC)) commitment schemes and zero-knowledge proofs that getting frequently employed in real-world applications. A (UC) commitment scheme enables a committer to compute a commitment to a secret message, and later open it in a verifiable manner (UC protocols can seamlessly be combined with other UC protocols and primitives while the entire protocol remains secure). A zero-knowledge proof is a protocol usually between a prover and a verifier that allows the prover to convince the verifier of the legality of a statement without disclosing any more information. Zero-knowledge proofs and in particular Succinct non-interactive zero-knowledge proofs (SNARKs) and quasi adaptive NIZK (QA-NIZK) are of particular interest in the real-world applications, with cryptocurrencies or more generally distributed ledger technologies being the prime examples. The two serious issues and the main drawbacks of the practical usage of NIZKs are (i) the demand for a trusted setup for generating the common reference string (CRS) and (ii) providing the UC security. In this thesis, we essentially investigate the aforementioned issues and propose concrete constructions for them. We first investigate subversion SNARKs (Sub zk-SNARKs) when the CRS is subverted. In particular, we build a subversion of the most efficient SNARKs. Then we initiate the study of subversion QA-NIZK (Sub-QA-NIZK) and construct subversion of the most efficient QA-NIZKs. For the second issue, providing UC-security, we first using hash proof systems or smooth projective hash functions (SPHFs), we introduce a new cryptographic primitive called publicly computable SPHFs (PC-SPHFs) and construct the currently most efficient non-interactive UC-secure commitment. Finally, we develop a new technique for constructing UC-secure commitments schemes that enables one to generate CRS of NIZKs by using MPC in a UC-secure mannerhttps://www.ester.ee/record=b535926

    Algorithm-Based Secure and Fault Tolerant Outsourcing of Matrix Computations

    No full text
    page number : 7 , Extended abstractWe study interactive algorithmic schemes for outsourcing matrix computations on untrusted global computing infrastructures such as clouds or volunteer peer-to-peer platforms. In these schemes the client outsources part of the computation with guaranties on both the inputs' secrecy and output's integrity. For the sake of efficiency, thanks to interaction, the number of operations performed by the client is almost linear in the input/output size, while the number of outsourced operations is of the order of matrix multiplication. Our scheme is based on efficient linear codes (especially evaluation/interpolation version of Reed-Solomon codes). Confidentiality is ensured by encoding the inputs using a secret generator matrix, while fault tolerance is ensured together by using fast probabilistic verification and high correction capability of the code. The scheme can tolerate multiple malicious errors and hence provides an efficient solution beyond resilience against soft errors. These schemes also allow to securely compute multiplication of a secret matrix with a known public matrix. Under reasonable hypotheses, we further prove the non-existence of such unconditionally secure schemes for general matrices

    Usalduse vÀhendamine ja turvalisuse parandamine zk-SNARK-ides ja kinnitusskeemides

    Get PDF
    VĂ€itekirja elektrooniline versioon ei sisalda publikatsioonezk-SNARK-id on tĂ”husad ja praktilised mitteinteraktiivsed tĂ”estussĂŒsteemid, mis on konstrueeritud viitestringi mudelis ning tĂ€nu kompaktsetele tĂ”estustele ja vĂ€ga tĂ”husale verifitseeritavusele on need laialdaselt kasutusele vĂ”etud suuremahulistes praktilistes rakendustes. Selles töös uurime zk-SNARK-e kahest vaatenurgast: nende usalduse vĂ€hendamine ja turvalisuse tugevdamine. Esimeses suunas uurime kui palju saab vĂ€hendada usaldust paaristuspĂ”histe zk-SNARK-ide puhul ilma nende tĂ”husust ohverdamata niiviisi, et kasutajad saavad teatud turvataseme ka siis kui seadistusfaas tehti pahatahtlikult vĂ”i kui avalikustati seadistusfaasi salajane teave. Me pakume vĂ€lja mĂ”ned tĂ”husad konstruktsioonid, mis suudavad takistada zk-SNARK-i seadistusfaasi rĂŒndeid ja mis saavutavad senisest tugevama turvataseme. NĂ€itame ka seda, et sarnased tehnikad vĂ”imaldavad leevendada usaldust tagauksega kinnitusskeemides, mis on krĂŒptograafiliste primitiivide veel ĂŒks silmapaistev perekond ja mis samuti nĂ”ub usaldatud seadistusfaasi. Teises suunas esitame mĂ”ned tĂ”husad konstruktsioonid, mis tagavad parema turvalisuse minimaalsete lisakuludega. MĂ”ned esitatud konstruktsioonidest vĂ”imaldavad lihtsustada praegusi TK-turvalisi protokolle, nimelt privaatsust sĂ€ilitavate nutilepingusĂŒsteemide Hawk ja Gyges konstruktsiooni, ja parandada nende tĂ”husust. Uusi konstruktsioone saab aga otse kasutada uutes protokollides, mis soovivad kasutada zk-SNARK-e. Osa vĂ€ljapakutud zk-SNARK-e on implementeeritud teegis Libsnark ja empiirilised tulemused kinnitavad, et usalduse vĂ€hendamiseks vĂ”i suurema turvalisuse saavutamiseks on arvutuslikud lisakulud vĂ€ikesed.Zero-knowledge Succinct Non-interactive ARguments of Knowledge (zk-SNARKs) are an efficient family of NIZK proof systems that are constructed in the Common Reference String (CRS) model and due to their succinct proofs and very efficient verification, they are widely adopted in large-scale practical applications. In this thesis, we study zk-SNARKs from two perspectives, namely reducing trust and improving security in them. In the first direction, we investigate how much one can mitigate trust in pairing-based zk-SNARKs without sacrificing their efficiency. In such constructions, the parties of protocol will obtain a certain level of security even if the setup phase was done maliciously or the secret information of the setup phase was revealed. As a result of this direction, we present some efficient constructions that can resist against subverting of the setup phase of zk-SNARKs and achieve a certain level of security which is stronger than before. We also show that similar techniques will allow us to mitigate the trust in the trapdoor commitment schemes that are another prominent family of cryptographic primitives that require a trusted setup phase. In the second direction, we present some efficient constructions that achieve more security with minimal overhead. Some of the presented constructions allow to simplify the construction of current UC-secure protocols and improve their efficiency. New constructions can be directly deployed in any novel protocols that aim to use zk-SNARKs. Some of the proposed zk-SNARKs are implemented in Libsnark, the state-of-the-art library for zk-SNARKs, and empirical experiences confirm that the computational cost to mitigate the trust or to achieve more security is practical.https://www.ester.ee/record=b535927

    Computational integrity with a public random string from quasi-linear PCPs

    Get PDF
    A party running a computation remotely may benefit from misreporting its output, say, to lower its tax. Cryptographic protocols that detect and prevent such falsities hold the promise to enhance the security of decentralized systems with stringent computational integrity requirements, like Bitcoin [Nak09]. To gain public trust it is imperative to use publicly verifiable protocols that have no “backdoors” and which can be set up using only a short public random string. Probabilistically Checkable Proof (PCP) systems [BFL90, BFLS91, AS98, ALM + 98] can be used to construct astonishingly efficient protocols [Kil92, Mic00] of this nature but some of the main components of such systems — proof composition [AS98] and low-degree testing via PCPs of Proximity (PCPPs) [BGH + 05, DR06] — have been considered efficient only asymptotically, for unrealistically large computations; recent cryptographic alternatives [PGHR13, BCG + 13a] suffer from a non-public setup phase. This work introduces SCI, the first implementation of a scalable PCP system (that uses both PCPPs and proof composition). We used SCI to prove correctness of executions of up to 2202^{20} cycles of a simple processor (Figure 1) and calculated (Figure 2) its break-even point [SVP + 12, SMBW12]. The significance of our findings is two-fold: (i) it marks the transition of core PCP techniques (like proof composition and PCPs of Proximity) from mathematical theory to practical system engineering, and (ii) the thresholds obtained are nearly achievable and hence show that PCP-supported computational integrity is closer to reality than previously assumed
    • 

    corecore