This repo contains toy implementations of stuff from Justin Thaler's book on computational proofs, arguments, and zero-knowledge. Part of the ZKHack study group held on discord.
- Reed-Solomon Fingerprinting, a special case of Reed-Solomon encoding (
rs-fingerprint
) - Frivalds Algorithm for verifying correctness of outsourced matrix multiplication (
frievalds-alg
) - Multinear Extensions / Multivariate lagrange interpolation (
mle
) - Sum-Check Protocol (
sum-check
) - GKR Protocol
- Fiat-Shamir Abstraction
- R1CS over GKR
- Succinct IP for Circuit Satisfiability
- Low-Degree Testing
- Multi-Prover IP for Circuit Satisfiability
- Quasilinear PCP for Circuit Satisfiability
- Polynomial IOP for Circuit Satisfiability using Univariate Sum-Check
- Polynomial IOP from GKR
- Polynomial IOP from Clover
- FRI
- Ligero
- Schnorr's Sigma Protocol for Knowledge of Discrete Log
- Sigma Protocols
- Pederson Commitments
- Fiat-Shamir'd Sigma Protocols
- A ZK-circuit using Masking Polynomials
- DLog based Polynomial Commitments
- Bulletproofs
- KZG
- Dory
- Hydrax
- GGPR13
- Groth16
- Plonk
- Plonk Variants