Course Modules
Pick a module to open it, then the demo you want. Everything runs in the browser.
Classical Ciphers
Build each cipher by hand. Then remove the key and read the message anyway.
Run each classical cipher yourself. The next module shows how each one breaks.
Now the keys are gone. Every attack here uses structure that the cipher left in the text. None of them is brute force.
Randomness and Commitment
Where random numbers come from, and how to commit to a value before anyone knows what it decides.
Run the public draw that assigns presentation slots. Then see what the commitment step protects.
Block Ciphers
Build a cipher that can be decrypted. Break it on purpose, and measure how far one changed bit travels.
Change a cipher until it can no longer be decrypted. Then step through the two example networks from the slides.
The Data Encryption Standard
Take the real cipher apart: every permutation, every S-box, and the key schedule. Then see what an attacker can still use.
Run the real cipher one stage at a time. Then measure the three limits that ended it: key length, structure, and block size.
Block Cipher Modes of Operation
One block is not a message. Encrypt the same picture five ways, and see which modes hide it.
Keep the cipher, the key and the message fixed. Change only the mode, and measure what each mode leaves visible.
Hash Functions
Take four hash functions apart, step by step. Then measure what it costs to find a digest.
Four hash functions, opened one step at a time. Then one search that measures what a digest costs.
Diffie–Hellman and Elliptic Curves
Agree on a key in public. Then do the same with points on a curve, and see why going backwards is hard.
Run the key exchange with small numbers. Then add points on a curve, first over the real numbers and then modulo a prime.
The Quantum Threat
See what a qubit does, run Grover's search and the period finding inside Shor's algorithm, and decide which data is at risk now.
Start with one qubit and a three-qubit circuit. Then run the two algorithms that matter for cryptography, and put a date on the risk.