MCPcopy Index your code
hub / github.com/Koukyosyumei/MyZKP

github.com/Koukyosyumei/MyZKP @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
697 symbols 1,997 edges 63 files 54 documented · 8%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
███╗   ███╗  ██╗   ██╗  ███████╗  ██╗  ██╗  ██████╗   🦀
████╗ ████║  ╚██╗ ██╔╝  ╚══███╔╝  ██║ ██╔╝  ██╔══██╗ 🦀
██╔████╔██║   ╚████╔╝     ███╔╝   █████╔╝   ██████╔╝ 
██║╚██╔╝██║    ╚██╔╝     ███╔╝    ██╔═██╗   ██╔═══╝    🦀
██║ ╚═╝ ██║     ██║     ███████╗  ██║  ██╗  ██║    🦀    
╚═╝     ╚═╝     ╚═╝     ╚══════╝  ╚═╝  ╚═╝  ╚═╝      🦀

🚀 Building Zero Knowledge Proofs from Scratch in Rust

MyZKP is a Rust implementation of zero-knowledge protocols built entirely from scratch! This project serves as an educational resource for understanding and working with zero-knowledge proofs.

  • 🌟 Explore the accompanying textbook: Book of MyZKP.
  • 📢 Contributions and feedback are encouraged to help make this project even better!

[!WARNING]
This repository is a work in progress and may contain bugs or inaccuracies. Contributions and feedback are welcome!

📚 About MyZKP

MyZKP is a growing library that provides:

  • A step-by-step guide to the theoretical foundations of ZKPs, including number theory, elliptic curves, and field arithmetic.
  • Implementation of core primitives for ZKP protocols.
  • A solid base for developers and researchers to learn, experiment, or build their own ZKP-based systems.

💡 Whether you're a cryptography enthusiast, a Rustacean, or a student, MyZKP is for you!

📖 Educational Modules

🧮 Basic of Number Theory

🌀Basic of Polynomial Commitment

🔒 Basic of zk-SNARKs

🌟 Basic of zk-STARKs

💻 Basic of zkVM

  • ✍️ TBD

🤝 Contributions are Welcome!

We welcome your ideas, feedback, and contributions!

💡 Here are ways to contribute:

  1. Report Issues: Found a bug or have a suggestion? Open an issue!
  2. Submit Pull Requests: Have code improvements? Feel free to submit them.
  3. Write Documentation: Help us make the educational modules clearer.

Extension points exported contracts — how you extend this code

Field (Interface)
Trait representing a field in abstract algebra. This trait extends the `Ring` trait and adds operations specific to fie [2 …
myzkp/src/modules/algebra/field.rs
DataAvailabilitySystem (Interface)
(no doc) [3 implementers]
myzkp/src/modules/das/utils.rs
ModulusValue (Interface)
Trait for defining the modulus of a finite field.
myzkp/src/modules/algebra/field.rs
Ring (Interface)
(no doc) [2 implementers]
myzkp/src/modules/algebra/ring.rs
IrreduciblePoly (Interface)
(no doc) [2 implementers]
myzkp/src/modules/algebra/efield.rs

Core symbols most depended-on inside this repo

clone
called by 372
myzkp/src/modules/das/utils.rs
push
called by 228
myzkp/src/modules/algebra/fiat_shamir.rs
optimal_ate_pairing
called by 86
myzkp/src/modules/algebra/curve/bn128.rs
pow
called by 80
myzkp/src/modules/algebra/polynomial.rs
accumulate_curve_points
called by 67
myzkp/src/modules/zksnark/utils.rs
mul_ref
called by 58
myzkp/src/modules/algebra/curve/curve.rs
eval
called by 47
myzkp/src/modules/algebra/polynomial.rs
r
called by 39
docs/highlight.js

Shape

Function 303
Method 291
Class 96
Interface 6
Enum 1

Languages

Rust79%
TypeScript18%
C++3%

Modules by API surface

docs/highlight.js71 symbols
myzkp/src/modules/algebra/field.rs51 symbols
myzkp/src/modules/algebra/polynomial.rs46 symbols
myzkp/src/modules/algebra/efield.rs39 symbols
myzkp/src/modules/algebra/reedsolomon.rs32 symbols
myzkp/src/modules/algebra/mpolynomials.rs27 symbols
myzkp/src/modules/algebra/curve/curve.rs27 symbols
myzkp/src/modules/algebra/cuda/kernels/field.hpp24 symbols
docs/book.js21 symbols
myzkp/src/modules/algebra/curve/bn128.rs19 symbols
docs/searcher.js19 symbols
myzkp/src/modules/zkstark/fri.rs16 symbols

For agents

$ claude mcp add MyZKP \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact