Eliptik-eğri Diffie–Hellman

**Eliptik Eğri Diffie-Hellman** (**ECDH**), güvensiz bir kanal üzerinden paylaşılan bir giz (İngilizce: secret) oluşturmak için her biri eliptik-eğri açık-özel anahtar çiftine sahip iki partiye izin veren anonim bir anahtar anlaşma protokolüdür.  Bu paylaşılan sır doğrudan bir anahtar olarak veya başka bir anahtar türetmek için kullanılabilir. Anahtar veya üretilen anahtar, daha sonra sonraki iletişimleri, bir simetrik anahtar algoritması kullanarak şifrelemek için kullanılabilir. Bu, Diffie-Hellman protokolünün eliptik eğri kriptografisi kullanan  bir çeşididir.

## 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 (p,a,b,G,n,h)(p,a,b,G,n,h)
veya ikilik taban durumunda (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
 ([1, n-1]
 aralığından rastgele seçilmiş bir tam sayı) ve bir Q
 noktası (Q = d G

, yani G
'nin kendisine 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 Language Bindings'deki Daniel J. Bernstein tarafı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.

## Ayrıca bakınız
* Diffie – Hellman anahtar değişimi

## Kaynakça