WTF zk is intro-level Zero-Knowledge Proofs (ZKP) tutorial: The goal is to make ZKP accessible to individuals with only a high school math background. We will replicate some algorithms using Python, so you will need to learn Python as well.
-
Lecture 11: Groups Tutorial
-
Lecture 12: Subgroups Tutorial
-
Lecture 13: Cosets and Lagrange's Theorem Tutorial
-
Lecture 14: Normal Subgroups and Quotient Groups Tutorial
-
Lecture 15: Homomorphisms and Isomorphisms Tutorial
-
Lecture 16: Abelian Groups Tutorial
-
Lecture 17: Cyclic Groups Tutorial
-
Lecture 18: Direct Product of Groups Tutorial
-
Lecture 19: Discrete Logarithm Problem Tutorial
-
Milestone 02: Diffie-Hellman Key Exchange Algorithm
Code | Tutorial | Paper -
Milestone 03: ElGamal Encryption and Signature Algorithm
Code | Tutorial | Paper
-
Lecture 20: Ring Tutorial
-
Lecture 21: Ideal and Quotient Ring Tutorial
-
Lecture 22: Homomorphisms and Isomorphisms of Ring Tutorial
-
Lecture 23: Field Tutorial
-
Lecture 24: Polynomial Basics Tutorial
-
Lecture 25: Polynomial Ring Tutorial
-
Lecture 26: Field Extension Tutorial
-
Lecture 27: Finite Field Tutorial
-
Lecture 28: Quadratic Residue Tutorial
-
Milestone 04: Goldwasser-Micali (GM) Algorithm
Code | Tutorial | Paper -
Milestone 05: Introduction to Zero-Knowledge Proofs
Tutorial | Paper
-
Lecture 30: Elliptic Curves over Finite Fields Code | Tutorial
-
Lecture 31: Elliptic Curve Discrete Logarithm Problem: Code | Tutorial
-
Lecture 33: Elliptic Curves over Extension Fields: Tutorial
-
Lecture 34: Bilinear Pairing Basics: Tutorial
-
Lecture 36: Weil Pairing: Tutorial
-
Lecture 39: Weil Pairing over Extension Fields: Tutorial
Milestone 06: Hash Functions Code | Tutorial
Milestone 07: Identity-Based Encryption (IBE) Code | Tutorial