diffie-hellman key exchange

 Simetrik Şifreleme ve Anahtar Paylaşım Sorunu

Simetrik şifrelemede, verileri şifrelemek ve çözmek için aynı anahtar (key) kullanılır. Ama problem şurada:

Bu anahtarı karşı tarafa nasıl güvenli bir şekilde ileteceğiz? Eğer biri bu anahtarı ele geçirirse, tüm iletişim tehlikeye girer.


Bu problemi çözmek için kullanılan en akıllıca yöntemlerden biri:


Diffie-Hellman Anahtar Değişimi (Key Exchange)

Amaç: İki kişi (örneğin Alice ve Bob), önceden bir anahtar paylaşmadan, güvenli olmayan bir kanal üzerinden ortak bir gizli anahtar oluşturmak istiyorlar. Bu ortak anahtarı sonra simetrik şifrelemede kullanacaklar.


Temel Fikir:


Ortak bazı bilgiler (örneğin bir asal sayı ve bir "taban") herkese açık olarak paylaşılır.


Alice ve Bob, kendi gizli sayılarıyla bu ortak bilgileri karıştırarak birbirlerine özel hesaplamalar sonucu oluşan açık anahtarları gönderirler.


Daha sonra bu açık anahtarları tekrar kendi gizli sayılarıyla birleştirerek aynı ortak gizli anahtarı elde ederler.


Adım Adım Sayısal Örnek (Basitleştirilmiş)

Gerçekte sayılar çok büyük olur ama burada sade ve anlaşılır olması için küçük değerler kullanıyoruz.


🔐 Ortak Değerler

Asal sayı: p = 29


Taban (generator): g = 3

→ Bu ikisi herkes tarafından biliniyor. İnternette bile açıkça paylaşılabilir.


👤 Alice'in Özel Anahtarı:

a = 13 (saklı tutulur, kimse bilmez)


👤 Bob’un Özel Anahtarı:

b = 15 (saklı tutulur, kimse bilmez)


📨 Herkesin Kendi Açık Anahtarını Hesaplaması:

Alice: A = g^a mod p = 3^13 mod 29 = 19


Bob: B = g^b mod p = 3^15 mod 29 = 26

→ Bu açık anahtarlar karşılıklı olarak gönderilir.


🔁 Ortak Anahtarın Oluşturulması:

Alice: B^a mod p = 26^13 mod 29 = 10


Bob: A^b mod p = 19^15 mod 29 = 10

✅ Her iki taraf da aynı sonucu aldı: 10

→ Bu artık şifrelemede kullanılacak gizli ortak anahtar.


🔒 Gerçek Uygulamada Nasıl Kullanılır?

Yukarıdaki örnek sadece anahtar paylaşım için.


Daha sonra bu ortak anahtar ile AES gibi simetrik şifreleme algoritmaları kullanılabilir.


Diffie-Hellman, gizli anahtarı paylaşmadan oluşturduğu için çok güvenlidir.


🛡️ Güvenlik ve RSA ile İlişkisi

Diffie-Hellman: Ortak gizli anahtar üretmek için kullanılır.


RSA: Kimlik doğrulama, dijital imza ve şifreli mesaj iletimi için kullanılır.

Bu iki yöntem genelde birlikte çalışır. Mesela bir bağlantıda:


Diffie-Hellman ile ortak anahtar üretilir.


RSA ile bu işlemi gerçekten doğru kişiler yaptığı kanıtlanır.

→ Böylece Man-in-the-Middle (ortadaki adam) saldırısı engellenir.