Giter Site home page Giter Site logo

wtfacademy / wtf-zk Goto Github PK

View Code? Open in Web Editor NEW
1.4K 12.0 172.0 81.3 MB

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

License: MIT License

Jupyter Notebook 99.13% Solidity 0.45% Sage 0.43%
abstract-algebra bitcoin blockchain cryptography elliptic-curve-cryptography elliptic-curves ethereum group-theory number-theory snark

wtf-zk's Introduction

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完全 教程

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

wtf-zk's People

Contributors

0xzhiyuan99 avatar amazingang avatar azleal avatar brianseong99 avatar buttonwild avatar ddl-hust avatar flyq avatar goofylfg avatar gududefengzhong avatar hattiepwvi avatar hteevoli avatar jangoccc avatar justinasdz avatar keyneszeng avatar lcy101u avatar m0dulo avatar manuel-yang avatar miles-six avatar openwjy avatar pennyyes avatar ret2happy avatar spn21 avatar upupnoah avatar wangkaixing avatar wenjin1997 avatar xor0v0 avatar zhengqian8958 avatar zhiyuan2007 avatar zklim avatar zlhwdsz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wtf-zk's Issues

翻译 WTF zk 前20讲

翻译 WTF zk 教程前20讲: https://github.com/WTFAcademy/WTF-zk

每人最多认领3讲,需要英语流利,并熟悉zk。

翻译流程:先利用chatgpt机翻,然后人工审核。

任务奖励由zkSync提供

Update:

2024.4.30: machine tranlation已经上传到repo: https://github.com/WTFAcademy/WTF-zk/tree/main/Languages/en

完成情况

  1. Set JangoCCC
  2. Basics of Integer Operations buttonwild
  3. Fundamentals of Prime Numbers buttonwild
  4. Euclidean Algorithm buttonwild
  5. Extended Euclidean Algorithm lcy101u 审核 by JangoCCC
  6. Basics of Modular Arithmetic lcy101u 审核 by JangoCCC
  7. Modular Arithmetic Division lcy101u 审核 by JangoCCC
  8. Fermat's Little Theorem yanboishere
  9. Chinese Remainder Theorem BrianSeong99
  10. Euler's Totient Function BrianSeong99
  11. Euler's Theorem JangoCCC
  12. Groups zklim
  13. Subgroups zklim
  14. Cosets and Lagrange's Theorem zklim
  15. Normal Subgroups and Quotient Groups JangoCCC
  16. Homomorphisms and Isomorphisms JangoCCC
  17. Abelian Groups spn21
  18. Cyclic Groups Azleal
  19. Direct Product of Groups Azleal
  20. Discrete Logarithm Problem spn21
  21. Rings Azleal

第40讲错别字”童谣“

310 + bls12_381 的配对实现和 bn128 类似,同样要注意一点是配对是在 $C_2 \times C_1 \to G_T$ 进行的,因此第一个点是 $G_2$ 的倍点,第二个点是 $G_1$ 的倍点,不然会报错。

HelloGitHub 徽章计划

🎉 恭喜!您的项目已被 HelloGitHub 社区收录和推荐,现邀请您加入 HelloGitHub 徽章计划。加入后,您将获得以下特权:

  • 社区认可: 徽章代表你的项目已通过 HelloGitHub 社区的严格筛选,并获得推荐。
  • 提高曝光: 佩戴徽章后,你的项目将获得更多推荐流量,吸引更多用户和贡献者。
  • 增强互动: 用户可通过徽章快速了解项目,并与之互动(点赞、评论、收藏)。
  • 收集反馈: 获取广大用户的真实反馈,持续优化你的项目。
  • 特殊标识: 认证后,你的评论将有显著标识,并获得置顶优先权。

📌 立即点击 完成徽章佩戴,加入 HelloGitHub 徽章计划,让你的开源项目绽放更耀眼的光彩。


HelloGitHub,一个专注于发现、分享、推广开源项目的社区。自 2016 年创立以来,从每月一更的月刊发展到今天,已经成为一个拥有超过 1 万 用户的充满活力的开源社区。我们的足迹遍布多个内容平台,并获得了全网 50 万 粉丝的信赖与支持。

【文档错误】01_Integer/readme.md

01_Integer/readme.md 文档,章节4. 欧几里得除法(Euclidean Division)

错误原文

两个整数相除的结果不一定是整数,比如 $7 \div 5=1.2$ 不是整数。

期望

两个整数相除的结果不一定是整数,比如 $7 \div 5=1.4$ 不是整数。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.