HomeCryptographyElliptic Curve Diffie-Hellman: Small Keys, Strong Secrets

🌀 Elliptic Curve Diffie-Hellman: Key Exchange on a Curve

Explore how Elliptic Curve Diffie-Hellman lets two parties agree on a shared secret by multiplying points on a curve instead of doing modular exponentiation, delivering strong security with tiny keys.

Cryptography3DModerate60 FPS
ecdh-elliptic-curve-key-exchange-lab ↗ Open standalone

This simulation demonstrates how two parties use elliptic curve point addition and scalar multiplication to independently arrive at the same shared secret point, visualizing the geometric line-and-reflection construction behind point addition and the double-and-add process behind scalar multiplication.

🔬 What It Demonstrates

This simulation demonstrates how two parties use elliptic curve point addition and scalar multiplication to independently arrive at the same shared secret point, visualizing the geometric line-and-reflection construction behind point addition and the double-and-add process behind scalar multiplication.

🎮 How to Use

Choose a small demonstration curve and a base point G, then set private scalars for two parties to watch their public points get computed through repeated doubling and adding. Exchange the public points and multiply each by the other party's scalar to confirm both sides land on the identical shared secret point.

💡 Did You Know?

Did you know a 256-bit elliptic curve key is generally considered to offer security roughly comparable to a 3072-bit classical Diffie-Hellman key, meaning elliptic curve cryptography can achieve the same practical protection with keys more than ten times shorter.

⚙ Under the hood

Explore ECDH key exchange, where two parties multiply elliptic curve points by private scalars to reach the same shared secret with far smaller keys than classical Diffie-Hellman.

ecdhelliptic-curve-cryptographydiffie-hellmankey-exchangecryptographytlsdiscrete-logarithmcomputer-science

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)