This project implements the Sumcheck Protocol, a fundamental zero-knowledge proof protocol used in various cryptographic applications. The implementation is written in Rust and uses the Arkworks library for finite field operations.
The Sumcheck Protocol allows a prover to convince a verifier that the sum of a multivariate polynomial over a hypercube is equal to a claimed value, without revealing the actual polynomial evaluation. This implementation includes:
- Multivariate and univariate polynomial representations
- Prover implementation for generating proof messages
- Verifier implementation for checking proof validity
- Rust (latest stable version)
- Cargo (Rust's package manager)
- Clone the repository:
git clone <repository-url>
cd sumcheck
cargo test- Build the project:
cargo buildThe library provides three main components:
MultiVariatePolynomial: For representing and manipulating multivariate polynomialsProver: For generating proof messages in the sumcheck protocolVerifier: For verifying the proof messages
ark-ff: For finite field operations
See issues.