Skip to content

adust09/sumcheck-protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sumcheck Protocol Implementation

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.

Overview

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

Prerequisites

  • Rust (latest stable version)
  • Cargo (Rust's package manager)

Installation

  1. Clone the repository:
git clone <repository-url>
cd sumcheck-protocol
  1. Build the project:
cargo build

Usage

The library provides three main components:

  1. MultiVariatePolynomial: For representing and manipulating multivariate polynomials
  2. Prover: For generating proof messages in the sumcheck protocol
  3. Verifier: For verifying the proof messages

Example usage:

use sumcheck::{MultiVariatePolynomial, Prover, Verifier};

// Create a multivariate polynomial
let poly = MultiVariatePolynomial::new(...);

// Initialize prover and verifier
let prover = Prover::new(&poly);
let verifier = Verifier::new(&poly);

// Run the sumcheck protocol
let proof = prover.prove();
let is_valid = verifier.verify(&proof);

Project Structure

  • src/polynomial.rs: Implementation of polynomial representations
  • src/prover.rs: Implementation of the prover's role in the protocol
  • src/verifier.rs: Implementation of the verifier's role in the protocol
  • src/lib.rs: Main library interface

Dependencies

  • ark-ff: For finite field operations

License

[Add your license information here]

Contributing

[Add contribution guidelines here]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages