! Educational demonstration only. Keys, moduli, and RSA sizes here are intentionally tiny so classical/quantum attacks finish in seconds — today's classical hardware cannot run Shor's algorithm against real production RSA keys. See Security & Limitations.
Shor's Lab

$ start here

What everything on this site actually means, and the fastest way to get around it. Five minutes here saves you clicking through fifteen pages blind.

0. New to this topic entirely? Start here.

What is RSA, actually? It's the math behind the little padlock icon in your browser. The trick: multiplying two numbers together is easy (even for huge numbers), but going backwards -- given only the answer, finding which two numbers were multiplied -- is brutally hard, if the numbers are prime and the answer is big enough. RSA turns "hard to undo" into "hard to break the encryption without the secret key." Your public key is basically a giant number N; your private key is the two primes that multiply to make it. Anyone can lock a message with N. Only someone who knows the two primes can unlock it.

So why can't computers just find those two primes? They can -- for small N, instantly (try it on the RSA Laboratory page). The problem is how fast the difficulty grows. Real RSA keys are 600+ digits long, and the best known classical method still takes longer than the age of the universe. That gap between "small demo" and "real key" is exactly what the Classical Benchmark page measures and plots.

Where does quantum computing come in? An ordinary bit is 0 or 1. A qubit can be in a mix of both at once (called superposition), and multiple qubits can become correlated with each other (entanglement) in ways that let a quantum computer explore many possibilities in parallel. That doesn't make it magic -- it's only actually faster for a small number of very specific problems. Factoring large numbers happens to be one of them.

What does Shor's algorithm do, in one sentence? It reframes "find the two primes" as "find a repeating pattern (a period) hiding inside a huge sequence of numbers" -- and a quantum computer can find that hidden pattern efficiently using a trick called the quantum Fourier transform, where the right answer reinforces itself (like sound waves in tune) while every wrong answer cancels out. Once you have that pattern, plain classical arithmetic (no quantum computer needed) turns it into the two prime factors. See it happen for real on the Shor's Algorithm Lab page, and the reinforcement/cancellation trick itself on the homepage.

Should you be worried? Not today. Building a quantum computer with enough stable qubits to attack a real 2048-bit RSA key is still a hard, unsolved engineering problem -- today's real hardware (see IBM Hardware Validation) can run this exact algorithm on toy numbers like 15, not on anything resembling a real key. This site exists to make the actual mechanism concrete instead of a vague headline -- not to claim the sky is falling.

1. Getting around without the sidebar

There's no permanent sidebar -- press / or Ctrl/⌘ K anywhere on the site (or click the go to page... box in the header) to open the command palette. Type a few letters of any page name, use the arrow keys or your mouse, and hit Enter.

Prefer a full list? Click Menu in the top-right for every page, grouped by section.

2. Quick actions

The command palette isn't just navigation. Type a plain composite number -- 3233, say -- and it offers Factor n = 3233. Hit Enter and you land on the Classical Attack Lab with all four attacks already run against it. This is that exact same command, live:

3. The pattern every lab follows

Every interactive page (RSA Laboratory, Classical Attack Lab, Shor's Algorithm Lab, the Malleability Lab) follows the same three-step shape:

  1. 1. configure inputs (a bit size, a number, a backend) -- every field has a sane, pre-filled default, so you can skip straight to step 2 if you just want to see it work.
  2. 2. run it -- this is always a real, live request to the FastAPI backend (backend/app/), which calls this project's actual Python implementation. Nothing on this site is a canned or hardcoded result.
  3. 3. read the result -- laid out as data first (numbers, tables, attempt logs), with the plain-English explanation underneath it, not instead of it.
4. What the badges and chrome actually mean
  • liveon the homepage terminal means that panel just made a real API call on page load -- refresh and the numbers can change, because it's a genuine quantum period-finding run, not a recording.
  • The amber banner at the very top of every page is the one disclaimer worth actually reading: key sizes here are intentionally tiny (8-24 bits) so the attacks finish in human time. That's a deliberate teaching choice, not a limitation anyone's hiding -- see Security & Limitations for the full, honest list of what this implementation does and doesn't defend against.
  • The three-dot window chrome on code/terminal panels is decorative framing (like a terminal emulator's title bar) -- the content inside is real, not the chrome.
5. Submitting to real IBM Quantum hardware

The IBM Hardware Validation page has a "Run this live, right now" button that submits this project's real compiled circuit to an actual IBM quantum computer, on this project's own account -- not a simulation, not the stored comparison run shown above it. Real hardware jobs queue for anywhere from seconds to minutes, so the page polls for the result rather than making you wait on one request; because it's spending real, shared hardware time, it's capped hard (one submission per visitor per hour, a small total per day across everyone) rather than left open-ended.

6. Where things live

Classical

RSA keygen/encrypt/decrypt, the four classical factoring attacks, the malleability & tampering demos, and measured benchmark data.

Quantum

Qubit/entanglement basics, the QFT, the full Shor's algorithm lab, a real gate-level circuit explorer, simulator comparisons, resource estimates, and actual IBM hardware results.

Project

A live security dashboard (self-checking headers and rate limits), an attack surface map tying every demonstrated attack to what it exploits and what stops it, the honest security/limitations writeup, and this project's own markdown notes rendered directly from the repo.

Not sure where to start? Follow this order:

This isn't just a suggestion here -- every page below actually has a real "Next" link at the bottom carrying you to the next one in this exact sequence.

This page is itself an example of the site's one house rule: explain the real mechanism, not just the vibe. If something here doesn't match what you actually see, that's a bug -- not a simplification.