/WTF-zk

零知识证明入门教程。

Primary LanguageJupyter NotebookMIT LicenseMIT

WTF zk

零知识证明(zero-knowledge proof)入门教程,目的是让仅有高中数学基础的人也能入门zk。我们会使用python复现一些算法,所以你也需要学python。

我们最近在学习zero-knowledge proof,巩固一下细节,也写一个“WTF zk极简入门”,供小白们使用(编程大佬可以另找教程),每周更新1-3讲。

数学基础

第1章 数论入门

第1讲 整数运算基础Code | 教程

第2讲 质数基础Code | 教程

第3讲 欧几里得算法Code | 教程

第4讲 拓展欧几里得算法Code | 教程

第5讲 模运算基础Code | 教程

第6讲 模运算除法Code | 教程

第7讲 费马小定理Code | 教程

第8讲 **剩余定理Code | 教程

第9讲 欧拉函数Code | 教程

第10讲 欧拉定理Code | 教程

里程碑01 RSA算法 Code | 教程 | 论文

第2章 抽象代数: 群论

第11讲 群教程

第12讲 子群教程

第13讲 陪集和拉格朗日定理教程

第14讲 正规子群和商群教程

第15讲 同态和同构教程

第16讲 Abel群教程

第17讲 循环群教程

第18讲 群的直积教程

第19讲 离散对数问题教程

里程碑02 Diffie-Hellman 密钥交换算法 Code | 教程 | 论文

里程碑03 ElGamal 加密和签名算法 Code | 教程 | 论文

第3章 抽象代数: 环和域

第20讲 环教程

第21讲 理想和商环教程

第22讲 环同态和同构教程

第23讲 域教程

第24讲 多项式基础教程

第25讲 多项式环教程

第26讲 域扩展教程

第27讲 有限域教程

第28讲 二次剩余教程

里程碑04 Goldwasser-Micali (GM) 算法 Code | 教程 | 论文

里程碑05 初探零知识证明 教程 | 论文

第4章 椭圆曲线

第29讲 椭圆曲线基础Code | 教程

第30讲 有限域上的椭圆曲线Code | 教程

第31讲 椭圆曲线离散对数问题Code | 教程

第32讲 椭圆曲线密码学Code | 教程

第33讲 扩域上的椭圆曲线教程

第34讲 双线性配对基础教程

Reference

  1. Moonmath Manual by LeastAuthority

  2. zk-learning MOOC

  3. The RareSkills Book of Zero Knowledge

  4. Number Theory Notes

  5. 密码学的数学基础

  6. Cryptography 101 for Blockchain Developers by OpenZeppelin