Learning projects for cryptography and the maths behind it, built so every step can be seen and played with. Each project lives in its own folder with its own README.
| Project | What it shows | Guide | Live demo |
|---|---|---|---|
| RSA | Key generation, encryption, decryption, digital signatures, and how an attacker would try to break it | README | Open |
| Elliptic Curves | Step-by-step path to elliptic-curve cryptography: the ellipse, then elliptic curves, point addition, finite fields, ECDH key exchange and attacks | README | Ellipse Lab · Elliptic Curve Lab |
| Probability Distributions | 10 distributions explained step by step (Bernoulli, Binomial, Poisson, Geometric, Uniform, Normal, Exponential, Log-normal, Chi-square, Student’s t), each with a worked real-life example | README | Distribution Explorer |
| RSA | Elliptic Curves | Distributions |
|---|---|---|
![]() |
![]() |
![]() |
Every project is plain HTML, CSS and JavaScript, with no installation or build step. Open the project’s index.html in any browser, or use its live demo link above.
cryptography/
├── README.md # This index
├── rsa/ # RSA: interactive lab, architecture diagram, guide
│ └── README.md
├── elliptic-curves/ # Elliptic curves section
│ ├── README.md
│ ├── ellipse/ # Ellipse guide + Ellipse Lab
│ └── elliptic-curve/ # Elliptic curve guide + lab, step-by-step, real-life example
└── distribution/ # Probability distributions: 10 step-by-step guides + Explorer
└── README.md
Open an issue on GitHub: https://github.com/yanshuman/cryptography/issues
These projects are for learning. For real-world security, use a well-tested library such as OpenSSL, Python’s cryptography, or Go’s standard crypto packages.