Skip to content

零知识证明入门教程。Comprehensive Zero-Knowledge Proofs Tutorial. #zk #WIP

License

Notifications You must be signed in to change notification settings

WTFAcademy/WTF-zk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WTF zk

English Version

零知识证明(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讲 双线性配对基础教程

第35讲 挠群和除子Code | 教程

第36讲 Weil 配对教程

第37讲 Miller 算法Code | 教程

第38讲 Tate 配对Code | 教程

第39讲 扩域上的 Weil 配对教程

第40讲 常用椭圆曲线Code | 教程

里程碑06 哈希函数 Hash Code | 教程

里程碑07 身份基加密 IBE Code | 教程

第5章 计算复杂性理论

第41讲 计算理论入门Code | 教程

第42讲 图灵机教程

第43讲 时间复杂度Code | 教程

第44讲 P和NPCode | 教程

第45讲 NP完全 教程

第46讲 电路复杂度 Code | 教程

第47讲 随机计算 教程

第48讲 交互式证明系统 教程

第49讲 概率可检验证明 PCP 教程

第50讲 线性 PCP 第一部分: R1CS 教程

第51讲 线性 PCP 第二部分: QAP 教程

里程碑08 Sumcheck Protocol 教程

WTF zk贡献者

贡献者是WTF学院的基石

WTF zk赞助商

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

  7. Vitalik's blogs: Weil Pairing

  8. 探索零知识证明系列 by 郭宇 SecBit

  9. Theory of Computation, MIT OpenCourseWare

  10. Computational Complexity: A Modern Approach by Arora and Barak

  11. Foundations of Probabilistic proofs, Chiesa Alessandro