Formal Verification of the Sumcheck Protocol (2402.06093v1)
Abstract: The sumcheck protocol, introduced in 1992, is an interactive proof which is a key component of many probabilistic proof systems in computational complexity theory and cryptography, some of which have been deployed. However, none of these proof systems based on the sumcheck protocol enjoy a formally-verified security analysis. In this paper, we make progress in this direction by providing a formally verified security analysis of the sumcheck protocol using the interactive theorem prover Isabelle/HOL. We follow a general and modular approach. First, we give a general formalization of public-coin interactive proofs. We then define a generalized sumcheck protocol for which we axiomatize the underlying mathematical structure and we establish its soundness and completeness. Finally, we prove that these axioms hold for multivariate polynomials, the original setting of the sumcheck protocol. Our modular analysis facilitates formal verification of sumcheck instances based on different mathematical structures with little effort, by simply proving that these structures satisfy the axioms. Moreover, the analysis supports the development and formal verification of future cryptographic protocols using the sumcheck protocol as a building block.
- Shafi Goldwasser, Silvio Micali and Charles Rackoff “The Knowledge Complexity of Interactive Proof-Systems (Extended Abstract)” In Proceedings of the 17th Annual ACM Symposium on Theory of Computing, STOC ’85, 1985, pp. 291–304
- László Babai “Trading Group Theory for Randomness” In Proceedings of the 17th Annual ACM Symposium on Theory of Computing, STOC ’85, 1985, pp. 421–429
- “Statistical Zero Knowledge Protocols to Prove Modular Polynomial Relations” In Proceedings of the 17th Annual International Cryptology Conference 1294, CRYPTO ’97, 1997, pp. 16–30
- “A Statistically-Hiding Integer Commitment Scheme Based on Groups with Hidden Order” In Proceedings of the 8th International Conference on the Theory and Application of Cryptology and Information Security, ASIACRYPT ’02, 2002, pp. 125–142
- “Succinct Non-Interactive Zero Knowledge for a von Neumann Architecture” In Proceedings of the 23rd USENIX Security Symposium, USENIX ’14, 2014, pp. 781–796
- Josh Swihart, Benjamin Winston and Sean Bowe “ZCash Counterfeiting Vulnerability Successfully Remediated”, 2019 URL: https://electriccoin.co/blog/zcash-counterfeiting-vulnerability-successfully-remediated/
- Benedikt Bünz, Ben Fisch and Alan Szepieniec “Transparent SNARKs from DARK Compilers” In Proceedings of the 39th Annual International Conference on the Theory and Applications of Cryptographic Techniques, EUROCRYPT ’20, 2020, pp. 677–706
- “Time- and Space-Efficient Arguments from Groups of Unknown Order” In Proceedings of the 41st Annual International Cryptology Conference, CRYPTO ’21, 2021, pp. 123–152
- “Dew: A Transparent Constant-Sized Polynomial Commitment Scheme” In Proceedings of the 26th IACR International Conference on Practice and Theory of Public-Key Cryptography, PKC ’23, 2023, pp. 542–571
- “Schwartz-Zippel for multilinear polynomials mod N”, IACR Cryptology ePrint Archive, Report 2022/458, 2022 URL: https://eprint.iacr.org/2022/458
- “A Non-PCP Approach to Succinct Quantum-Safe Zero-Knowledge” In Proceedings of the 40th Annual International Cryptology Conference, CRYPTO ’20, 2020, pp. 441–469
- Thomas Attema, Ronald Cramer and Lisa Kohl “A Compressed Sigma-Protocol Theory for Lattices” In Proceedings of the 41st Annual International Cryptology Conference, CRYPTO ’21, 2021, pp. 549–579
- Martin R. Albrecht and Russell W. F. Lai “Subtractive Sets over Cyclotomic Rings - Limits of Schnorr-Like Arguments over Lattices” In Proceedings of the 41st Annual International Cryptology Conference, CRYPTO ’21, 2021, pp. 519–548
- “Bulletproofs: Short Proofs for Confidential Transactions and More” In Proceedings of the 39th IEEE Symposium on Security and Privacy, S&P ’18, 2018, pp. 315–334
- Jim Miller “Coordinated disclosure of vulnerabilities affecting Girault, Bulletproofs, and PlonK”, 2022 URL: https://blog.trailofbits.com/2022/04/13/part-1-coordinated-disclosure-of-vulnerabilities-affecting-girault-bulletproofs-and-plonk/
- “ZenGo Zero Knowledge Paillier Implementation” URL: https://github.com/ZenGo-X/zk-paillier
- “SecBit Labs Zero-Knowledge Proofs Toolkit” URL: https://github.com/sec-bit/ckb-zkp
- “Dusk Network Plonk Implementation” URL: https://github.com/dusk-network/plonk
- “Iden3 snarkjs Library” URL: https://github.com/iden3/snarkjs
- “Consensys gnark Library” URL: https://github.com/ConsenSys/gnark
- “Code-based game-playing proofs and the security of triple encryption” In Cryptology ePrint Archive, 2004
- “SoK: Computer-Aided Cryptography” In Proceedings of the 42nd IEEE Symposium on Security and Privacy, S&P ’21, 2021, pp. 777–795
- Jens Groth “On the Size of Pairing-Based Non-Interactive Arguments” In Proceedings of the 35th Annual International Conference on the Theory and Applications of Cryptographic Techniques, EUROCRYPT ’16, 2016, pp. 305–326
- “Formalizing Soundness Proofs of SNARKs”, IACR Cryptology ePrint Archive, Report 2023/656, 2023
- Bolton Bailey “Formalization of SNARKs”, https://github.com/BoltonBailey/formal-snarks-project, last accessed 22.03.2023
- “Zero-Knowledge in EasyCrypt” In Proceedings of the 36th IEEE Computer Security Foundations Symposium, CSF ’23, 2023, pp. 1–16
- “Zero-Knowledge Proofs from Secure Multiparty Computation” In SIAM J. Comput. 39, 2009, pp. 1121–1152
- Nikolaj Sidorenco, Sabine Oechsner and Bas Spitters “Formal security analysis of MPC-in-the-head zero-knowledge protocols” In 2021 IEEE 34th Computer Security Foundations Symposium (CSF), CSF ’21, 2021, pp. 1–14
- “Machine-checked ZKP for NP relations: Formally Verified Security Proofs and Implementations of MPC-in-the-Head” In Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security, CCS ’21
- “Schnorr protocol in Jasmin”, IACR Cryptology ePrint Archive, Report 2023/752, 2023 URL: https://eprint.iacr.org/2023/752.pdf
- “Fixing and Mechanizing the Security Proof of Fiat-Shamir with Aborts and Dilithium” In Proceedings of the 43rd Annual International Cryptology Conference, CRYPTO ’23, 2023, pp. 358–389
- Shafi Goldwasser, Yael Tauman Kalai and Guy N Rothblum “Delegating computation: interactive proofs for muggles” In Journal of the ACM 62.4, 2015, pp. 1–64
- Srinath Setty “Spartan: Efficient and General-Purpose zkSNARKs Without Trusted Setup” In Proceedings of the 40th Annual International Cryptology Conference, CRYPTO ’20, 2020, pp. 704–737
- “Efficient Zero-Knowledge Arguments for Arithmetic Circuits in the Discrete Log Setting” In Proceedings of the 35th Annual International Conference on Theory and Application of Cryptographic Techniques, EUROCRYPT ’16, 2016, pp. 327–357
- Jonathan Bootle, Alessandro Chiesa and Jens Groth “Linear-Time Arguments with Sublinear Verification from Tensor Codes” In Proceedings of the 18th Theory of Cryptography Conference, TCC ’20, 2020, pp. 19–46
- Jonathan Bootle, Alessandro Chiesa and Siqi Liu “Zero-Knowledge Succinct Arguments with a Linear-Time Prover” In Proceedings of the 42nd Annual International Conference on Theory and Application of Cryptographic Techniques, EUROCRYPT ’22, 2022, pp. 275–304
- Noga Ron-Zewi and Ron D. Rothblum “Proving as Fast as Computing: Succinct Arguments with Constant Prover Overhead” In Proceedings of the 54th Annual ACM Symposium on Theory of Computing, STOC ’22, 2022
- “Faster Sounder Succinct Arguments and IOPs” In Proceedings of the 42nd Annual International Cryptology Conference, CRYPTO ’22, 2022, pp. 474–503
- Graham Cormode, Michael Mitzenmacher and Justin Thaler “Practical Verified Computation with Streaming Interactive Proofs” In Proceedings of the 3rd Innovations in Theoretical Computer Science Conference, ITCS ’12, 2012, pp. 90–112
- “Public-Coin Zero-Knowledge Arguments with (almost) Minimal Time and Space Overheads” In Proceedings of the 18th Theory of Cryptography Conference, TCC ’20, 2020, pp. 168–197
- “Gemini: Elastic SNARKs for Diverse Environments” In Proceedings of the 41st Annual International Conference on the Theory and Applications of Cryptographic Techniques, EUROCRYPT ’22, 2022, pp. 427–457
- Jonathan Bootle, Alessandro Chiesa and Katerina Sotiraki “Sumcheck Arguments and their Applications” Extended version at https://eprint.iacr.org/2021/333.pdf. In Proceedings of the 41st Annual International Cryptology Conference, CRYPTO ’21, 2021, pp. 681–710
- Or Meir “IP = PSPACE using error-correcting codes” In SIAM Journal on Computing 42, 2013, pp. 380–403
- Adi Shamir “IP = PSPACE” In J. ACM 39.4, 1992, pp. 869–877
- Alexander Shen “IP = PSPACE: simplified proof” In Journal of the ACM 39.4, 1992, pp. 878–880
- “SNARGs for bounded depth computations and PPAD hardness from sub-exponential LWE” In Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing, STOC ’21, 2021, pp. 708–721
- “Finding a Nash equilibrium is no easier than breaking Fiat-Shamir” In Proceedings of the 51st Annual ACM SIGACT Symposium on Theory of Computing, STOC ’19, 2019, pp. 1103–1114
- Yael Tauman Kalai, Alex Lombardi and Vinod Vaikuntanathan “SNARGs and PPAD Hardness from the Decisional Diffie-Hellman Assumption” In Proceedings of the 42nd Annual International Conference on the Theory and Applications of Cryptographic Techniques, EUROCRYPT ’23, 2023, pp. 470–498
- “Fiat–Shamir From Simpler Assumptions”, Cryptology ePrint Archive, Report 2018/1004, 2018
- “Algebraic Methods for Interactive Proof Systems” In J. ACM 39.4, 1992, pp. 859–868
- “Executable Multivariate Polynomials” https://isa-afp.org/entries/Polynomials.html, Formal proof development In Archive of Formal Proofs, 2010
- “Verifiable Computing for Approximate Computation”, IACR Cryptology ePrint Archive, Report 2019/762, 2019 URL: https://eprint.iacr.org/2019/762
- “Quadratic Span Programs and Succinct NIZKs without PCPs” In Proceedings of the 32nd Annual International Conference on the Theory and Applications of Cryptographic Techniques, EUROCRYPT ’13’, 2013, pp. 626–645
- “Pinocchio: Nearly Practical Verifiable Computation” In Proceedings of the 2013 IEEE Symposium on Security and Privacy, S&P ’13, 2013, pp. 238–252
- “Another Look at Extraction and Randomization of Groth’s zk-SNARK” In Proceedings of the 25th International Conference on Financial Cryptography and Data Security, FC ’21, 2021, pp. 457–475
- Helger Lipmaa “Simulation-Extractable SNARKs Revisited”, IACR Cryptology ePrint Archive, Report 2019/612, 2022 URL: https://eprint.iacr.org/2019/612
- “BabySNARK” URL: https://github.com/initc3/babySNARK
- “Formalising ΣΣ\Sigmaroman_Σ-Protocols and Commitment Schemes using CryptHOL” In Journal of Automated Reasoning 65.4 Springer, 2021, pp. 521–567
- Sunpill Kim and Yong Kiam Tan “The Schwartz-Zippel Lemma” https://isa-afp.org/entries/Schwartz_Zippel.html, Formal proof development In Archive of Formal Proofs, 2023
- Azucena Garvía, Christoph Sprenger and Jonathan Bootle “The Sumcheck Protocol” https://isa-afp.org/entries/Sumcheck_Protocol.html, Formal proof development In Archive of Formal Proofs, 2024
- Tobias Nipkow, Lawrence C. Paulson and Markus Wenzel “Isabelle/HOL - A Proof Assistant for Higher-Order Logic” 2283, Lecture Notes in Computer Science, 2002 URL: https://doi.org/10.1007/3-540-45949-9
- “Computational Complexity: A Modern Approach” Cambridge University Press, 2009
- Justin Thaler “Proofs, Arguments, and Zero-Knowledge” In Foundations and Trends in Privacy and Security 4.2–4, 2022, pp. 117–660 DOI: 10.1561/3300000030
- Justin Thaler “The Sum-Check Protocol” https://people.cs.georgetown.edu/jthaler/sumcheck.pdf
- “Isabelle/HOL Computational Algebra Library” URL: https://isabelle.in.tum.de/library/HOL/HOL-Computational_Algebra
- “Theory HOL-Library.Poly_Mapping” URL: https://isabelle.in.tum.de/library/HOL/HOL-Library/Poly_Mapping.html
- “Theory Polynomial” URL: https://isabelle.in.tum.de/library/HOL/HOL-Computational_Algebra/Polynomial.html