Zero to ECDH (Elliptic-Curve Diffie-Hellman) in 30 Minutes
This is a quick primer on the elliptic-curve Diffie-Hellman (ECDH) key-agreement
scheme. It provides a simple illustration of how the properties of elliptic-curve
cryptography (ECC) can be used to build a useful security scheme.
A key agreement scheme is a procedure by which two or more parties agree
upon a value from which they can subsequently derive one or more keys for use
in a symmetric encryption and/or data authentication scheme. Neither party
completely determines the key value on their own. Instead, they both contribute
to the final key value. And, most important, anyone who observes the exchanges
between the two parties cannot tell what the final result will be.
It is important to remember that, in their basic form, key-agreement schemes are
anonymous. In other words, they don’t tell either party the identity of the other
party (the one with whom they have agreed a key), nor whether that party is the
one they believe it to be.