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:
- Alice ve Bob herkesin görebileceği ortak bir başlangıç rengi (örneğin sarı) seçer.
- Her iki taraf da kimseye göstermediği gizli birer renk seçer (Alice tekil olarak mavi, Bob ise kırmızı).
- 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.
- 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.
- 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.
Kamusal Parametrelerin Seçimi: İletişim kuracak taraflar, herkesin erişebileceği şu iki parametre üzerinde anlaşırlar:
- Büyük bir asal sayı:
çarpımsal grubunun bir üreteci: (Burada şartı aranır ve 'nin kuvvetleri mod 'de gruptaki tüm elemanları üretebilmelidir).
- Büyük bir asal sayı:
Gizli ve Açık Değerlerin Üretilmesi:
- Alice,
aralığında rastgele bir gizli tam sayı seçer. Ardından kendi açık değerini hesaplayıp Bob'a gönderir: - Bob,
aralığında rastgele bir gizli tam sayı seçer. Ardından kendi açık değerini hesaplayıp Alice'e gönderir:
- Alice,
Ortak Gizli Anahtarın Hesaplanması:
- Alice, Bob'dan aldığı
değerini kendi gizli anahtarı ile işler: - Bob, Alice'ten aldığı
değerini kendi gizli anahtarı ile işler:
- Alice, Bob'dan aldığı
🔒 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ı
Teorem: Protokolün Matematiksel Tutarlılığı
Güvenli olmayan kanal üzerinden iletilen
İspat
Alice'in hesaplama adımını ele alalım. Alice, Bob'dan gelen
Bob'un açık değer üretme fonksiyonundan biliyoruz ki
Üslü sayıların çarpımsal değişim özelliği (
Şimdi Bob'un hesaplama adımını inceleyelim. Bob, Alice'ten gelen
Alice'in açık değer tanımından
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:
Böylece tarafların gizli anahtarlarını (
⚠️ 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ı (
📝 Çözümlü Uygulama
Örnek: Bir Diffie-Hellman anahtar değişiminde ortak parametreler
💡 Çözümü Göster / Gizle
1. Kamusal Açık Değerlerin Üretilmesi:
Alice'in Açık Değeri (
): sayısının mod 13 altındaki kalanı: Alice,
değerini kanal üzerinden Bob'a gönderir. Bob'un Açık Değeri (
): Bob,
değerini kanal üzerinden Alice'e gönderir.
2. Ortak Gizli Anahtarın Hesaplanması:
Alice'in Hesaplaması (
): Alice, Bob'dan gelen değerini alır ve kendi gizli sayısı ile işler: Hesabı kolaylaştırmak için
denkliğini kullanalım: Bob'un Hesaplaması (
): Bob, Alice'ten gelen değerini alır ve kendi gizli sayısı ile işler: sayısının mod 13 altındaki kalanı ( ):
Sonuç: Matematiksel doğrulama tam olarak çalışmış, Alice ve Bob gizli anahtarlarını paylaşmadan