Canvas not supported.

Crypto Lab

Lab

Interactive toys for the math behind the crypto I play with. Click around, everything runs in your browser.

Visualizer 01

Elliptic curves over Fp

Over a finite field an elliptic curve isn't a smooth line any more. It's a scatter of points that still form a group. Pick points to add them, or step through k·P to see how scalar multiplication, the operation ECDSA is built on, hops around the curve.

    Visualizer 02

    Cyclic groups in Fp*

    The nonzero numbers mod a prime p form a group under multiplication. Powers of an element g walk around it: a generator visits every element before coming back to 1, others get stuck in a smaller cycle whose length divides p − 1. Going forward (gk) is easy; going back from gk to k is the discrete log problem that Diffie–Hellman and DSA rely on.

    Tap an element h to find k with gk = h.

    Visualizer 03

    Lattices and the closest vector problem

    A lattice is every integer combination of two basis vectors. The same lattice has many bases: a short, nearly orthogonal "good" one and long, skewed "bad" ones. Tap anywhere to drop a target: rounding it to the lattice with the good basis (Babai's method) lands on the closest point, with a bad basis it usually misses. Lattice schemes like ML-DSA (used in my Q-Sealnet project) publish a bad basis and keep the good one secret.

    Tap anywhere to place a target point.

    Paused XYZ — technoplanet