├── .gitmodules ├── README.md ├── arithmetic-circuits ├── README.md ├── bitshift.py └── inverse.py ├── bilinear-pairing ├── README.md ├── SolZKVerifier │ ├── .github │ │ └── workflows │ │ │ └── test.yml │ ├── .gitignore │ ├── README.md │ ├── foundry.toml │ ├── script │ │ └── Counter.s.sol │ ├── src │ │ └── SolZkVerifier.sol │ └── test │ │ └── SolZkVerifier.t.sol ├── pairing.py └── pythonComputation.py ├── elliptic-curve-addition └── README.md ├── elliptic-curve-finite-field ├── README.md ├── bn128-addition.py ├── bn128-basicZk.py ├── bn128-curveorder.py ├── bn128-ex1.py ├── bn128-ex2.py ├── bn128-inverse.py └── mathModulo11.py ├── encrypted-polynomial-evaluation ├── README.md ├── encrypted-evaluation.py ├── polynomial-modulo.py └── polynomial-on-ec.py ├── groth16 ├── README.md └── pairing-tests.py ├── group-theory └── README.md ├── qap-over-elliptic-curve ├── README.md └── example-ht-evaluation.py ├── quadratic-arithmetic-programs ├── README.md ├── addition-homomorphism.py ├── hadamard-homomorphism.py ├── images │ └── qap-notation.webp ├── lagrange-interpolation.py ├── polynomials.py ├── real-example-balancing-term.py ├── real-example-homomorphism-transformation-1.py ├── real-example-homomorphism-transformation-2.py ├── real-example-homomorphism-transformation-3.py ├── real-example-witness-multiplication.py └── scalar-homomorphism.py ├── r1cs-to-qap ├── README.md ├── galois-tuto.py ├── r1cs-galois.py ├── r1cs-part.py └── r1cs-to-qap.py ├── rank-1-constraint-systems ├── .gitignore ├── README.md ├── circom-ex1.circom ├── circom-ex1.sym ├── circom-ex1_js │ ├── circom-ex1.wasm │ ├── generate_witness.js │ ├── input.json │ ├── witness.json │ ├── witness.wtns │ └── witness_calculator.js ├── circom-ex2.circom ├── circom-ex4.circom ├── r1cs-ex1.py ├── r1cs-ex2.py ├── r1cs-ex3.py ├── r1cs-ex4.py ├── r1cs-modular.py └── r1cs-negativeCircom.py ├── rings-and-fields └── README.md ├── set-theory └── README.md └── zkp-with-r1cs └── README.md /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/.gitmodules -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/README.md -------------------------------------------------------------------------------- /arithmetic-circuits/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/arithmetic-circuits/README.md -------------------------------------------------------------------------------- /arithmetic-circuits/bitshift.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/arithmetic-circuits/bitshift.py -------------------------------------------------------------------------------- /arithmetic-circuits/inverse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/arithmetic-circuits/inverse.py -------------------------------------------------------------------------------- /bilinear-pairing/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/bilinear-pairing/README.md -------------------------------------------------------------------------------- /bilinear-pairing/SolZKVerifier/.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/bilinear-pairing/SolZKVerifier/.github/workflows/test.yml -------------------------------------------------------------------------------- /bilinear-pairing/SolZKVerifier/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/bilinear-pairing/SolZKVerifier/.gitignore -------------------------------------------------------------------------------- /bilinear-pairing/SolZKVerifier/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/bilinear-pairing/SolZKVerifier/README.md -------------------------------------------------------------------------------- /bilinear-pairing/SolZKVerifier/foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/bilinear-pairing/SolZKVerifier/foundry.toml -------------------------------------------------------------------------------- /bilinear-pairing/SolZKVerifier/script/Counter.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/bilinear-pairing/SolZKVerifier/script/Counter.s.sol -------------------------------------------------------------------------------- /bilinear-pairing/SolZKVerifier/src/SolZkVerifier.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/bilinear-pairing/SolZKVerifier/src/SolZkVerifier.sol -------------------------------------------------------------------------------- /bilinear-pairing/SolZKVerifier/test/SolZkVerifier.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/bilinear-pairing/SolZKVerifier/test/SolZkVerifier.t.sol -------------------------------------------------------------------------------- /bilinear-pairing/pairing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/bilinear-pairing/pairing.py -------------------------------------------------------------------------------- /bilinear-pairing/pythonComputation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/bilinear-pairing/pythonComputation.py -------------------------------------------------------------------------------- /elliptic-curve-addition/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/elliptic-curve-addition/README.md -------------------------------------------------------------------------------- /elliptic-curve-finite-field/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/elliptic-curve-finite-field/README.md -------------------------------------------------------------------------------- /elliptic-curve-finite-field/bn128-addition.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/elliptic-curve-finite-field/bn128-addition.py -------------------------------------------------------------------------------- /elliptic-curve-finite-field/bn128-basicZk.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/elliptic-curve-finite-field/bn128-basicZk.py -------------------------------------------------------------------------------- /elliptic-curve-finite-field/bn128-curveorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/elliptic-curve-finite-field/bn128-curveorder.py -------------------------------------------------------------------------------- /elliptic-curve-finite-field/bn128-ex1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/elliptic-curve-finite-field/bn128-ex1.py -------------------------------------------------------------------------------- /elliptic-curve-finite-field/bn128-ex2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/elliptic-curve-finite-field/bn128-ex2.py -------------------------------------------------------------------------------- /elliptic-curve-finite-field/bn128-inverse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/elliptic-curve-finite-field/bn128-inverse.py -------------------------------------------------------------------------------- /elliptic-curve-finite-field/mathModulo11.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/elliptic-curve-finite-field/mathModulo11.py -------------------------------------------------------------------------------- /encrypted-polynomial-evaluation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/encrypted-polynomial-evaluation/README.md -------------------------------------------------------------------------------- /encrypted-polynomial-evaluation/encrypted-evaluation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/encrypted-polynomial-evaluation/encrypted-evaluation.py -------------------------------------------------------------------------------- /encrypted-polynomial-evaluation/polynomial-modulo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/encrypted-polynomial-evaluation/polynomial-modulo.py -------------------------------------------------------------------------------- /encrypted-polynomial-evaluation/polynomial-on-ec.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/encrypted-polynomial-evaluation/polynomial-on-ec.py -------------------------------------------------------------------------------- /groth16/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/groth16/README.md -------------------------------------------------------------------------------- /groth16/pairing-tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/groth16/pairing-tests.py -------------------------------------------------------------------------------- /group-theory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/group-theory/README.md -------------------------------------------------------------------------------- /qap-over-elliptic-curve/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/qap-over-elliptic-curve/README.md -------------------------------------------------------------------------------- /qap-over-elliptic-curve/example-ht-evaluation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/qap-over-elliptic-curve/example-ht-evaluation.py -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/README.md -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/addition-homomorphism.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/addition-homomorphism.py -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/hadamard-homomorphism.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/hadamard-homomorphism.py -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/images/qap-notation.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/images/qap-notation.webp -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/lagrange-interpolation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/lagrange-interpolation.py -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/polynomials.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/polynomials.py -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/real-example-balancing-term.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/real-example-balancing-term.py -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/real-example-homomorphism-transformation-1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/real-example-homomorphism-transformation-1.py -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/real-example-homomorphism-transformation-2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/real-example-homomorphism-transformation-2.py -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/real-example-homomorphism-transformation-3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/real-example-homomorphism-transformation-3.py -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/real-example-witness-multiplication.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/real-example-witness-multiplication.py -------------------------------------------------------------------------------- /quadratic-arithmetic-programs/scalar-homomorphism.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/quadratic-arithmetic-programs/scalar-homomorphism.py -------------------------------------------------------------------------------- /r1cs-to-qap/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/r1cs-to-qap/README.md -------------------------------------------------------------------------------- /r1cs-to-qap/galois-tuto.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/r1cs-to-qap/galois-tuto.py -------------------------------------------------------------------------------- /r1cs-to-qap/r1cs-galois.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/r1cs-to-qap/r1cs-galois.py -------------------------------------------------------------------------------- /r1cs-to-qap/r1cs-part.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/r1cs-to-qap/r1cs-part.py -------------------------------------------------------------------------------- /r1cs-to-qap/r1cs-to-qap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/r1cs-to-qap/r1cs-to-qap.py -------------------------------------------------------------------------------- /rank-1-constraint-systems/.gitignore: -------------------------------------------------------------------------------- 1 | *.r1cs 2 | circom-ex*_js/ 3 | *.sym -------------------------------------------------------------------------------- /rank-1-constraint-systems/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/README.md -------------------------------------------------------------------------------- /rank-1-constraint-systems/circom-ex1.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/circom-ex1.circom -------------------------------------------------------------------------------- /rank-1-constraint-systems/circom-ex1.sym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/circom-ex1.sym -------------------------------------------------------------------------------- /rank-1-constraint-systems/circom-ex1_js/circom-ex1.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/circom-ex1_js/circom-ex1.wasm -------------------------------------------------------------------------------- /rank-1-constraint-systems/circom-ex1_js/generate_witness.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/circom-ex1_js/generate_witness.js -------------------------------------------------------------------------------- /rank-1-constraint-systems/circom-ex1_js/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/circom-ex1_js/input.json -------------------------------------------------------------------------------- /rank-1-constraint-systems/circom-ex1_js/witness.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/circom-ex1_js/witness.json -------------------------------------------------------------------------------- /rank-1-constraint-systems/circom-ex1_js/witness.wtns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/circom-ex1_js/witness.wtns -------------------------------------------------------------------------------- /rank-1-constraint-systems/circom-ex1_js/witness_calculator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/circom-ex1_js/witness_calculator.js -------------------------------------------------------------------------------- /rank-1-constraint-systems/circom-ex2.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/circom-ex2.circom -------------------------------------------------------------------------------- /rank-1-constraint-systems/circom-ex4.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/circom-ex4.circom -------------------------------------------------------------------------------- /rank-1-constraint-systems/r1cs-ex1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/r1cs-ex1.py -------------------------------------------------------------------------------- /rank-1-constraint-systems/r1cs-ex2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/r1cs-ex2.py -------------------------------------------------------------------------------- /rank-1-constraint-systems/r1cs-ex3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/r1cs-ex3.py -------------------------------------------------------------------------------- /rank-1-constraint-systems/r1cs-ex4.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/r1cs-ex4.py -------------------------------------------------------------------------------- /rank-1-constraint-systems/r1cs-modular.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/r1cs-modular.py -------------------------------------------------------------------------------- /rank-1-constraint-systems/r1cs-negativeCircom.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rank-1-constraint-systems/r1cs-negativeCircom.py -------------------------------------------------------------------------------- /rings-and-fields/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/rings-and-fields/README.md -------------------------------------------------------------------------------- /set-theory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/set-theory/README.md -------------------------------------------------------------------------------- /zkp-with-r1cs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zigtur/Rareskills-ZK-book/HEAD/zkp-with-r1cs/README.md --------------------------------------------------------------------------------