Welcome! This project aims to implement and experiment with the sum-check protocol as explained in the Zero Knowledge Book.
This is a Rust implementation of the sum-check protocol, which is a fundamental building block in various zero-knowledge proof systems. The project is structured into several key components:
- Equation Module: Handles mathematical equations and terms required for the protocol
- Sum Check Module: Contains the core implementation of the sum-check protocol
- Interactive prover implementation
- Verifier implementation
- GKR Module: Work in progress implementation of the GKR protocol (Goldwasser-Kalai-Rothblum)
- Language: Rust (2021 edition)
- Dependencies:
num
(0.4) - For advanced numerical operationsrand
(0.8) - For cryptographic randomness
src/
├── equation/ # Equation handling implementation
├── gkr/ # GKR protocol implementation
├── sum_check/ # Core sum-check protocol
├── prover.rs
├── verifier.rs
└── proving_process_interactive.rs
To use this library, add it to your Cargo.toml
:
[dependencies]
sum_check = { git = "https://github.com/HadiEsna/sum-check" }
- implementing needed libraries (equation)
- implementing sum-check protocol
- implementing gkr
- implementing non-interactive version of the prover