You never need these. Everything required to solve each cache is on its cache page and in the field. Each tool runs entirely in your browser: nothing you type is sent anywhere, and it keeps working once it has loaded, even if you lose signal.
Before you start
In an asymmetric (public-key) cryptosystem, the key that locks a message is public, and a different, private key unlocks it. The two keys are tied together by a math problem that’s easy in one direction and very hard in the other. Multiplying two primes is easy, but splitting their product back into those primes is hard. Raising a number to a power is easy, but working out which power was used (a discrete logarithm) is hard.
Puzzles use numbers small enough that a computer can do the hard direction. Each worksheet does that math for you and explains every number along the way: what it is, where it goes, and what it’s for. When something doesn’t fit, it tells you why.
Most trouble comes from copying. Every worksheet shows how many digits each number has, so you can check it against the puzzle.
Start here
- Lesson 1 Symmetric and Asymmetric Classical ciphers, the key-sharing problem, one-way functions, and how public-key encryption differs from key exchange. Why, in these puzzles, you play the eavesdropper.
- Lesson 2 · interactive Modular Arithmetic Basics The math behind every worksheet, from clocks and calendars to inverses, Fermat and Euler, factoring, square roots and discrete logs, with a tiny RSA to try by hand. With a link to a bonus: the day of the week for any date.
- Lesson 3 · interactive From Letters to Numbers Turning a decrypted number back into words or coordinates: letter positions, character codes, hex, the lost leading zero, and where the blocks start.
- Lesson 4 · interactive Working Mod n² For the systems that work on a clock of size n² or p²: powers of 1 + n, the L function, and how the secret λ wipes out the random number.
The worksheets (alphabetical)
- Diffie–Hellman A key exchange. Recovers one side’s secret with a discrete logarithm, rebuilds the shared secret, and explains what to do with it.
- ElGamal Finds either secret with a discrete logarithm (Pohlig–Hellman), rebuilds the shared secret, divides it out, and helps you read the message.
- Goldwasser–Micali Encrypts one bit per number. Factors the modulus, sorts each ciphertext number into square or non-square, and reads the bits.
- Massey–Omura A three-pass exchange with two padlocks. Breaks either lock with a discrete logarithm and takes it off the message.
- Okamoto–Uchiyama Factors a modulus of the form p²q, works modulo p² with the L function, and reads the message.
- Paillier Factors the modulus, builds λ and μ, applies the L function modulo n², and reads the message.
- Rabin Factors the public key, takes a square root modulo each prime, combines them with the CRT into four candidates, and helps you read them.
- RSA Rivest–Shamir–Adleman. Factors the modulus, builds the private key, decrypts, and helps you read the message, explaining each step.
- Schmidt–Samoa Factors a modulus of the form p²q, builds the private exponent, decrypts modulo pq, and reads the message.