MCPcopy Index your code
hub / github.com/Godspower-Eze/learn-cryptography-and-zk

github.com/Godspower-Eze/learn-cryptography-and-zk @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
312 symbols 774 edges 56 files 42 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Learn Cryptography and ZK - cryptography and zero-knowledge proofs from scratch

Overview

A collection of cryptographic and zero-knowledge algorithms implemented from scratch in Python and Rust.

Implementations

Rust

This focuses mainly on implementations from Proofs, Arguments and Zero Knowledge (By Justin Thaler).

Python

This focuses mainly on traditional cryptography with a bit of blockchain cryptography

Ancient Cryptography

19th Century Cryptography

Modern Cryptography

Utils

Usage

This serves as a learning material for me in my journey to becoming proficient at cryptography. I hope it helps you learn as well.

Disclamer

You probably know this, but please DO NOT USE IN PRODUCTION.

Extension points exported contracts — how you extend this code

FF (Interface)
(no doc) [2 implementers]
with_rust/ff/src/lib.rs
Polynomial (Interface)
(no doc) [1 implementers]
with_rust/poly/src/lib.rs
FFE (Interface)
(no doc) [1 implementers]
with_rust/ff/src/lib.rs
UnivariatePolynomial (Interface)
(no doc) [1 implementers]
with_rust/poly/src/lib.rs

Core symbols most depended-on inside this repo

scalar_multiplication
called by 22
with_python/utils/ecc.py
generate_random_prime
called by 13
with_python/utils/number_theory.py
identity
called by 10
with_python/utils/ecc/bandersnatch/curve.py
right_rotate
called by 10
with_python/commitments/hashing/sha2/sha512.py
right_rotate
called by 10
with_python/commitments/hashing/sha2/sha256.py
pow
called by 9
with_rust/ff/src/lib.rs
inv
called by 7
with_python/utils/fields.py
_check_all_integers_same_modulus
called by 7
with_python/utils/fields.py

Shape

Method 228
Function 47
Class 33
Interface 4

Languages

Python80%
Rust20%

Modules by API surface

with_python/utils/ecc/bandersnatch/curve.py38 symbols
with_rust/ff/src/lib.rs36 symbols
with_python/utils/fields.py33 symbols
with_python/utils/ecc/bandersnatch/fields.py28 symbols
with_rust/poly/src/lib.rs19 symbols
with_python/commitments/hashing/sha3/utils.py13 symbols
with_python/test/utils/test_fields.py11 symbols
with_python/commitments/hashing/sha1.py10 symbols
with_python/utils/ecc.py8 symbols
with_python/rsa.py8 symbols
with_python/commitments/polynomials/basic_polynomial_comm_using_mod.py8 symbols
with_python/commitments/polynomials/basic_polynomial_comm_using_ecc.py8 symbols

For agents

$ claude mcp add learn-cryptography-and-zk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact