Skip to content

Diffie-Hellman Anahtar Değişimi ve Matematiksel Temelleri

Asimetrik kriptografinin doğuşunu simgeleyen Diffie-Hellman Anahtar Değişimi (Diffie-Hellman Key Exchange), 1976 yılında Whitfield Diffie ve Martin Hellman tarafından yayınlanmıştır. Bu protokol, iki tarafın (geleneksel olarak Alice ve Bob) güvenli olmayan ve herkes tarafından dinlenebilen bir iletişim kanalı üzerinden, önceden hiçbir gizli bilgi paylaşımında bulunmadan ortak bir gizli anahtar (shared secret) oluşturmasını sağlar.

Diffie-Hellman bir şifreleme algoritması değil, bir anahtar değişim protokolüdür. Burada üretilen ortak gizli anahtar, daha sonraki iletişim sürecinde verileri çok daha hızlı şifreleyebilen simetrik şifreleme algoritmalarında (örneğin AES) kullanılacaktır. Sistemin matematiksel güvenliği, ElGamal kriptosisteminde olduğu gibi Ayrık Logaritma Probleminin (Discrete Logarithm Problem - DLP) bilgisayarsal zorluğuna dayanır.

📌 Temel Mantık: Renk Karışımı Analojisi

Diffie-Hellman protokolünün işleyişi genellikle bir renk karışımı benzetmesiyle açıklanır:

  1. Alice ve Bob herkesin görebileceği ortak bir başlangıç rengi (örneğin sarı) seçer.
  2. Her iki taraf da kimseye göstermediği gizli birer renk seçer (Alice tekil olarak mavi, Bob ise kırmızı).
  3. Taraflar ortak renk ile kendi gizli renklerini karıştırıp elde ettikleri karışımı birbirlerine gönderirler (Alice yeşil gönderir, Bob turuncu gönderir). Kanaldan geçen bu karışımları dinleyen bir saldırgan, orijinal gizli renkleri ayırt edemez.
  4. Alice, Bob'dan gelen turuncu karışıma kendi gizli rengi olan maviyi ekler. Bob ise Alice'ten gelen yeşil karışıma kendi gizli rengi olan kırmızıyı ekler.
  5. Sonuçta her iki taraf da tamamen aynı nihai rengi (kahverengi) elde etmiş olur. Matematiksel olarak modüler üs alma işlemleri bu gizli renk karışımlarını birebir simüle eder.

🔑 Protokolün Adımları ve İşleyişi

Diffie-Hellman protokolünün formal kurgusu, modüler aritmetik ve grup teorisi prensipleri üzerine kuruludur.

  1. Kamusal Parametrelerin Seçimi: İletişim kuracak taraflar, herkesin erişebileceği şu iki parametre üzerinde anlaşırlar:

    • Büyük bir asal sayı: p
    • Zp çarpımsal grubunun bir üreteci: g (Burada g<p şartı aranır ve g'nin kuvvetleri mod p'de gruptaki tüm elemanları üretebilmelidir).
  2. Gizli ve Açık Değerlerin Üretilmesi:

    • Alice, 1<a<p1 aralığında rastgele bir gizli tam sayı a seçer. Ardından kendi açık değerini hesaplayıp Bob'a gönderir:Aga(modp)
    • Bob, 1<b<p1 aralığında rastgele bir gizli tam sayı b seçer. Ardından kendi açık değerini hesaplayıp Alice'e gönderir:Bgb(modp)
  3. Ortak Gizli Anahtarın Hesaplanması:

    • Alice, Bob'dan aldığı B değerini kendi gizli anahtarı a ile işler:KABa(modp)
    • Bob, Alice'ten aldığı A değerini kendi gizli anahtarı b ile işler:KBAb(modp)

🔒 Matematiksel Yapı ve Doğruluk İspatı

Tanım: Diffie-Hellman Ortak Gizli Bilgisi

Alice ve Bob'un protokol adımları sonunda bağımsız olarak hesapladıkları KA ve KB değerleri matematiksel olarak birbirine eşittir. Bu ortak değere Diffie-Hellman Ortak Gizli Anahtarı (Shared Secret) denir:

K=KA=KB

Teorem: Protokolün Matematiksel Tutarlılığı

Güvenli olmayan kanal üzerinden iletilen Aga(modp) ve Bgb(modp) açık değerleri kullanılarak hesaplanan Ba(modp) ve Ab(modp) değerleri her zaman aynı gab(modp) sonucunu verir.

İspat

Alice'in hesaplama adımını ele alalım. Alice, Bob'dan gelen B değerinin a. kuvvetini mod p altında hesaplamaktadır:

KABa(modp)

Bob'un açık değer üretme fonksiyonundan biliyoruz ki Bgb(modp) eşitliği geçerlidir. Bu ifadeyi yerine koyarsak:

KA(gb)a(modp)

Üslü sayıların çarpımsal değişim özelliği ((gb)a=gba=gab) uyarınca denklem şu şekle dönüşür:

KAgab(modp)

Şimdi Bob'un hesaplama adımını inceleyelim. Bob, Alice'ten gelen A değerinin b. kuvvetini mod p altında hesaplamaktadır:

KBAb(modp)

Alice'in açık değer tanımından Aga(modp) olduğunu biliyoruz. Yerine koyduğumuzda:

KB(ga)b(modp)gab(modp)

Görüldüğü üzere her iki işlem de modüler aritmetikteki üs değişme özelliği sayesinde aynı nihai değere ulaşmaktadır:

KAKBgab(modp)

Böylece tarafların gizli anahtarlarını (a ve b) kanala asla vermeden, sadece açık bileşenler üzerinden aynı gizli K sayısında birleşebilecekleri kanıtlanmış olur.

⚠️ Kritik Güvenlik Uyarısı: Ortadaki Adam Saldırısı (Man-in-the-Middle)

Diffie-Hellman protokolü, pasif dinleyicilere (eavesdroppers) karşı Ayrık Logaritma Probleminin zorluğu sayesinde tamamen güvenlidir. Ancak protokolün asıl zayıflığı kimlik doğrulama (authentication) mekanizmasının olmamasıdır.

Alice ve Bob karşı tarafın kimliğini doğrulamadığı için, araya giren aktif bir saldırgan (Eve); Alice'e kendisini Bob, Bob'a ise kendisini Alice olarak tanıtabilir. Alice ile ayrı (gae), Bob ile ayrı (gbe) ortak anahtarlar kurarak tüm iletişimi deşifre edebilir ve değiştirebilir. Bu tehlikeyi önlemek için modern sistemlerde Diffie-Hellman adımları Dijital İmzalar (Digital Signatures) veya sertifikalarla birlikte kullanılır.


📝 Çözümlü Uygulama

Örnek: Bir Diffie-Hellman anahtar değişiminde ortak parametreler p=13 ve üreteç g=2 olarak belirlenmiştir. Alice kendi gizli değerini a=4, Bob ise kendi gizli değerini b=3 olarak seçmiştir. Tarafların üreteceği kamusal açık değerleri ve süreç sonunda elde edecekleri ortak gizli anahtarı (K) adım adım hesaplayınız.

💡 Çözümü Göster / Gizle

1. Kamusal Açık Değerlerin Üretilmesi:

  • Alice'in Açık Değeri (A):

    Aga(modp)A24(mod13)24=16

    16 sayısının mod 13 altındaki kalanı:

    1613=3A=3

    Alice, A=3 değerini kanal üzerinden Bob'a gönderir.

  • Bob'un Açık Değeri (B):

    Bgb(modp)B23(mod13)23=8B=8

    Bob, B=8 değerini kanal üzerinden Alice'e gönderir.

2. Ortak Gizli Anahtarın Hesaplanması:

  • Alice'in Hesaplaması (KA): Alice, Bob'dan gelen B=8 değerini alır ve kendi gizli sayısı a=4 ile işler:

    KABa(modp)KA84(mod13)

    Hesabı kolaylaştırmak için 82=64121(mod13) denkliğini kullanalım:

    84=(82)2(1)2=1KA=1
  • Bob'un Hesaplaması (KB): Bob, Alice'ten gelen A=3 değerini alır ve kendi gizli sayısı b=3 ile işler:

    KBAb(modp)KB33(mod13)33=27

    27 sayısının mod 13 altındaki kalanı (132=26):

    2726=1KB=1

Sonuç: Matematiksel doğrulama tam olarak çalışmış, Alice ve Bob gizli anahtarlarını paylaşmadan K=1 ortak gizli anahtarında başarıyla buluşmuşlardır.

Akademik amaçlarla tasarlanmış açık kaynaklı eğitim arşivi. Bu sitedeki tüm ders notları ve içerikler CC BY-NC-SA 4.0 Lisansı ile korunmaktadır.