Key exchange algoritmaları, anahtarın kendisini karşı tarafa göndermeden her iki tarafında bildiği bir algoritma kullanarak, aynı anahtarın değerinin taraflarca karşılıklı üretilmesi için kullanılır. Yani bir anlamda anahtar değeri değiş tokuş edilmiş gibi olur. Açıklaması şöyle
- K is being created over a public, insecure channel. That is really the core benefit of a Diffie-Hellman key exchange.Formül
Şöyledir
(taban sayı üssü gizli sayım) mod asal sayıÖnce A kişisi taban sayıyı ve asal sayıyı (prime number) seçer. Bu sayıları B'ye bildirir. Dolayısıyla her iki taraf ta taban sayısını ve asal sayıyı bilir.
Daha sonra A tarafı formülü çalıştırıp sonucu B'ye söyler.
B'de formülü çalıştırıp kendi sonucunu A'ya söyler.
Daha sonra A taban sayı olarak B'nin sonucunu kullanır ve anahtarı bulur.
B 'de taban sayı olarak A'nın sonucu kullanır ve aynı anahtarı bulur.
Bu formülü çözmek sanırım "discrete logarithm problem" olarak adlandırılıyor.
Bu formülü çözmek sanırım "discrete logarithm problem" olarak adlandırılıyor.
Asal Sayı
Prime bir sayı seçmek için şu kod kullanılabilir. Prime sayılar matematikte P ile gösterilir.
bool isPrime(int num) {
if (num <= 3) {
return num > 1;
} else if (num % 2 == 0 || num % 3 == 0) {
return false;
} else {
for (int i = 5; i * i <= num; i += 6) {
if (num % i == 0 || num % (i + 2) == 0 {
return false;
}
}
return true;
}
}
Üretilen Key İle Ne YapılırAçıklaması şöyle. İllaki bir şeyi şifrelemek için kullanılmak zorunda değil.
There is no requirement that you use the shared key for anything in particular. K could be used to encrypt further communication, but could also be used as a seed to a pseudorandom number generator, or in any other case where establishing a shared piece of secret data might be useful (and, again, where it is beneficial to do so effectively in public).Ortadaki Adam Saldırısı - Man In the Middle Attack
Diffie-Hellman ortadaki adam (man in the middle) saldırısına karşı koruma sağlamaz. Örneğin ssh'ta Diffie-Hellman key exchange işlemi yapılır. Ancak key sunucu tarafından public key ile şifrelenerek gönderilir. İstemci doğru server ile konuştuğunu daha önceki kurulum adımından bilir.
Hiç yorum yok:
Yorum Gönder