Skip to content

Repository files navigation

Cryptography Explorer

Live at one-big-project.vercel.app

A website for learning how ciphers work by using them. Each page explains one cipher in a few lines, shows the formula, and gives you a working version to try with your own messages and keys.

What's covered

Cipher Page
Shift (Caesar) /shift-cipher
Affine /affine-cipher
Keyword mixed alphabet /keyword-mixed
Rail fence /rail-fence
Vigenère /vigenere-cipher
Hill (2×2) /hill-cipher
One-time pad /one-time-pad
RSA, with signatures /rsa
Diffie-Hellman key exchange /key-exchange
ElGamal, with signatures /elgamal

The numbers are kept small so the maths can be followed by hand. None of this is meant for protecting real data.

How it's built

React 19, TypeScript, React Router and Vite. All the maths lives in two files:

  • src/lib/math.ts: modular arithmetic, inverses, fast exponentiation, primality testing and a secure random number helper. Public key pages use BigInt, so large numbers don't lose precision.
  • src/lib/ciphers.ts: the classical ciphers.

Every page is in src/pages, and src/catalog.ts lists them for the sidebar and the home page.

Running it locally

git clone https://github.com/Musala001/OneBigProject.git
cd OneBigProject
npm install
npm run dev

Then open http://localhost:5173.

About

Cryptography Toolkit: Explore RSA, Diffie-Hellman, and ElGamal encryption and digital signatures with explanations and live examples in React

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages