Skip to content

mxnwafor/Groth16

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Groth16

Groth16 is a zk-snark proving algorithm, first proposed by Jens Groth in 2016.

Dependencies

To install dependencies, run:

pip install galois
pip install numpy
pip install py-ecc

Note: If the dependencies fail to install, try creating a python virtual environment and installing them there. See how to create a venv

Instructions

To execute prover and trusted setup operations:

cd src/
python3 Groth16.py

To run the verifier steps, make sure you have foundry installed and running:

cd Verifier/src
forge build
forge test

Design

This implementation is modelled to solve a simple graph bipartite problem. A bipartite graph is one that can be coloured with two colours such that no two neighbouring nodes share the same colour.

Goal

To prove that we know four nodes that satisfy the problem without revealing them.

Credits

Rareskills ZK Book

Ret2Basic

About

Python Implementation of the Groth16 cryptographic algorithm.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published