Diffie-Hellman Anahtar Hesaplama

Paylaşılan gizli anahtarı türetmek için açık parametreleri ve iki özel anahtarı girin.

Nasıl hesaplanır?

Açık asal sayı p, üreteç g ve iki özel üs olan a (Alice) ile b (Bob) değerlerini girersiniz. Araç, her açık değeri hızlı modüler üs alma (kare al ve çarp) yöntemiyle hesaplar: A = ga mod p ve B = gb mod p. Sonra her taraf karşısındakinin açık değerini kendi özel üssüne yükseltir: Alice için s = Ba mod p, Bob için Ab mod p. İkisi de aynı sayıyı vermelidir; sayfa ikisini birlikte gösterir, böylece kontrol edebilirsiniz. Dört girdi de 253'ün altında tam sayı olmalı; p 1'den büyük, g 0'dan büyük, a ve b negatif olmayan olmalıdır. p modülünün asal olup olmadığı denetlenir (Miller-Rabin); p asal değilse, ondalıklı değer girilirse veya herhangi bir değer aralık dışındaysa sonuç gösterilmez. Çarpımlar taşma olmadan hesaplandığından yaklaşık 9 katrilyona kadar büyük asallar çalışır.

Örnek hesaplama

Ders kitaplarındaki değerleri alalım: p = 23, g = 5, Alice'in a = 6, Bob'un b = 15 olsun. Alice'in açık değeri 56 mod 23 = 15.625 mod 23 = 8 çıkar. Bob'unki 515 mod 23 = 19 olur. Alice 196 mod 23, Bob ise 815 mod 23 hesaplar; ikisi de ortak gizli anahtar olan 2 değerine ulaşır, doğrulama satırı da 2 gösterir. Dinleyen biri yalnızca 23, 5, 8 ve 19 değerlerini görür.

Bu örneği dene →

Sık yapılan hatalar

  • p = 24 gibi bileşik bir modül seçmek. Araç p'nin asal olduğunu denetler, değilse sonuç vermez; çünkü bileşik bir sayıya göre yapılan değişim anlamlı değildir.
  • 6,5 gibi ondalıklı veya negatif bir üs girmek. Yalnızca tam sayı ve negatif olmayan özel anahtarlar kabul edilir, bu yüzden sonuç çıkmaz.
  • Özel ve açık değerleri karıştırmak. a ve b gizli üslerdir; A ve B açık değerlerdir ve girdi değil çıktıdır.
  • Anlamsız bir değişim veren üreteç seçmek: g = 1 olursa tüm açık değerler ve ortak gizli anahtar 1 çıkar. İşe yarar bir g, p modülünde çok sayıda kalan üretir; rastgele seçmek yerine p'ye göre kontrol edin.
  • Sonuçtan gerçek güvenlik beklemek. Uygulamada binlerce bit uzunluğunda asal sayılar kullanılır; 253'ün altındaki sayılarla çalışan bir hesaplayıcı yalnızca öğrenme ve elle kontrol içindir.

Bu hesaplama hakkında

Diffie-Hellman anahtar değişimi, iki tarafın gizli bilgiyi hiç iletmeden, açık bir kanal üzerinden paylaşılan bir gizli anahtar üzerinde anlaşmasını sağlar. Her iki taraf da genel bir asal modül p ve bir üreteç g üzerinde anlaşır; her biri bir özel anahtar (a ve b) seçer ve bir açık anahtar hesaplar — A = g^a mod p ve B = g^b mod p — bunları açıkça değiş tokuş ederler. Ardından her taraf, diğerinin açık anahtarını kendi özel anahtarının kuvvetine yükseltir: paylaşılan gizli anahtar s = B^a mod p = A^b mod p = g^(ab) mod p olur ve hiçbir özel anahtar hiç hatta geçmeden aynı sayıya ulaşılır.

Güvenlik, ayrık logaritma problemine dayanır — yeterince büyük bir p asal sayısı için g, p ve A = g^a mod p bilgisinden a'yı hesaplamak, a'dan A'yı hesaplamak kolay olsa da, hesaplama açısından pratikte imkânsızdır. Bilgisayar bilimi öğrencileri, güvenlik mühendisleri ve protokol geliştiricileri, TLS, SSH ve diğer protokollerin herhangi bir uygulama verisi gönderilmeden önce paylaşılan bir oturum anahtarını nasıl kurduğunu elle doğrulamak için bu tür küçük sayı örneklerini kullanır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar

  • İlk yorumu siz yazın.

Popüler hesaplayıcılar

Tüm Hesaplayıcılar