Eliptik-eğri Diffie–Hellman
Anahtar oluşturma protokolü

Sıradaki örnek anahtar oluşturulmasının nasıl yapıldığını açıklayacak. Diyelim ki Alice, Bob ile paylaşılan bir anahtar oluşturmak istiyor,ama ikisi için uygun olan tek kanal, üçüncü bir parti tarafından gizlice dinlenebilir. Başlangıçta, etki alanı parametreleri (yani, asal durumda  (p,a,b,G,n,h) (p,a,b,G,n,h) (p,a,b,G,n,h) (p,a,b,G,n,h)



(
p
,
a
,
b
,
G
,
n
,
h


{\textstyle (p,a,b,G,n,h}

  (p,a,b,G,n,h) (p,a,b,G,n,h)veya ikilik taban durumunda 



(
m
,
f
(
x
)
,
a
,
b
,
G
,
n
,
h
)


{\textstyle (m,f(x),a,b,G,n,h)}

 (m,f(x),a,b,G,n,h)) konusunda anlaşma sağlanmalıdır. Ayrıca, her partinin eliptik eğri kriptografisine uygun, özel anahtar 



d


{\textstyle d}

 (



[
1
,
n
−
1
]


{\textstyle [1,n-1]}

 aralığından rastgele seçilmiş bir tam sayı) ve bir 



Q


{\textstyle Q}

 noktası (



Q
=
d
G


{\textstyle Q=dG}

, yani 



G


{\textstyle G}

'nin kendisine 



d


{\textstyle d}

defa eklendiğinde çıkan sonuç) ile gösterilen bir açık anahtardan oluşan bir anahtar çifti olmalıdır. Alice'in anahtar çifti  (d_{A},Q_{A}), Bob'un anahtar çifti  (d_{B},Q_{B})olsun. Her parti diğer partinin protokol çalıştırılmadan önceki açık anahtarını bilmelidir.
Alice  (x_{k},y_{k})=d_{A}Q_{B} noktasını hesaplar. Bob  (x_{k},y_{k})=d_{B}Q_{A}noktasını hesaplar. Paylaşılan giz (İngilizce: secret),  x_{k}'dır (noktanın x koordinatı). ECDH'e dayalı en standart hale getirilmiş protokoller, hash tabanlı anahtar üretim fonksiyonu kullanarak,  x_{k}'dan simetrik anahtar üretir.
İki tarafın da hesapladığı paylaşılan giz eşittir, çünkü  d_{A}Q_{B}=d_{A}d_{B}G=d_{B}d_{A}G=d_{B}Q_{A} d_{A}Q_{B}=d_{A}d_{B}G=d_{B}d_{A}G=d_{B}Q_{A}'dır.
Alice'in başlangıçta açıkladığı özel anahtarı hakkında tek bilgi açık anahtarıdır. Yani, Alice'ten başka hiçbir parti, eliptik eğri  ayrık logaritma  problemini çözmedikçe Alice'in özel anahtarına karar veremez. Bob'un özel anahtarı da aynı şekilde güvendedir. Alice ve Bob'dan başka hiçbir parti, eliptik eğri Diffie-Hellman problemini çözmedikçe paylaşılan secreti hesaplayamaz.
Açık anahtarlar ya statiktir (ve güvenilirdir, mesela bir sertifika aracılığıyla) ya da geçicidirler (ECDHE olarak da bilinir, son E'nin "geçici" anlamına gelen "ephemeral"in baş harfidir.). Geçici anahtarlar geçicidir ve kimlik doğrulamasına gerek yoktur, yani eğer kimlik doğrulaması yapmak istenirse, authenticity başka yollarla sağlanmalıdır. Kimlik doğrulaması, ortadaki adam saldırılarından korunmak için gereklidir. Eğer Alice veya Bob’dan birinin açık anahtarı statik ise, ortadaki adam saldırıları önlenmiştir. Statik açık anahtarlar, diğer gelişmiş güvenlik özelliklerindenileriye dönük gizlilik (İngilizce: forward secrecy) veya anahtar-uzlaşma kimliğe bürünme esnekliği (İngilizce: key-compromise impersonation resilience) sağlamaz. Statik özel anahtarı olanlar, diğer açık anahtarı doğrulamalı ve statik özel anahtarla ilgili bilgi sızdırmamak için ham Diffie-Hellman paylaşılan gizine güvenli bir anahtar türetme fonksiyonu uygulamalıdır. Diğer güvenlik özelliklerine sahip programlar için MQV'ye bakınız.
Paylaşılan bir giz doğrudan bir anahtar olarak kullanılabilir, genelde Diffie-Hellman değişiminden kaynaklanan zayıf bitleri ortadan kaldırmak için gizi hashlemek tercih edilir.
Curve25519, eliptik eğri parametreleri kümesidir ve  C [./https://en.wikipedia.org/wiki/Language_binding 14 Nisan 2019 tarihinde Wayback Machine sitesinde arşivlendi. Bindings]'deki Daniel J. Bernsteintarafından yapılan referans gerçeklemesi ve alternatif gerçeklemeler de mevcuttur.
LINE messenger uygulaması, ECDH protokolünü Ekim 2015'ten bu yana, söz konusu uygulama aracılığıyla gönderilen tüm iletilerin "Letter Sealing" uçtan uca şifrelemesi için kullanmıştır.