
A key agreement protocol that allows two parties, each having an elliptic-curve public-private key pair, to establish a shared secret over an insecure channel. This shared secret may be directly used as a key, or to derive another key. The key, or the derived key, can then be used to encrypt subsequent communications using a symmetric-key cipher. It is a variant of the Diffie-Hellman protocol using elliptic-curve cryptography.
How ECDH Works
ECDH (Elliptic Curve Diffie-Hellman) uses elliptic curve cryptography to enable two parties to generate a shared secret key over an insecure channel.
- Key Generation: Each party generates a public-private key pair using elliptic curve cryptography.
- Key Agreement: The parties exchange their public keys and use their private keys to compute a shared secret.
- Key Derivation: The shared secret can be used directly as a key or to derive another key for symmetric encryption.
Applications of ECDH
ECDH is widely used in various secure communication protocols and applications.
- Secure Communication: ECDH is used in protocols like Signal, TLS, and SSH to establish secure communication channels.
- Key Exchange: It is used for key exchange in applications where secure communication is required, such as virtual private networks (VPNs) and secure messaging apps.
Advantages of ECDH
ECDH offers several advantages over traditional Diffie-Hellman protocols.
- Efficiency: ECDH provides the same level of security as traditional Diffie-Hellman with smaller key sizes, making it more efficient.
- Security: It offers strong security guarantees against various cryptographic attacks, making it suitable for modern cryptographic applications.