by

Diffie – Hellman Key Exchange

Diffie Hellman anahtar değişimi geliştirilmiş en eski anahtar değişimi yollarından biridir. Güvenli olmayan ağda 2 kullanıcının birbirlerini tanımaları daha doğrusu birbirlerine yetki vermeleri için kullanılan bir yöntemdir. Bu yöntem basit olarak şu şekilde işler:

**1)*** P > G olacak şekilde 2 asal sayı seçilir.*
**2)***Kullanıcılar rasgele bir sayı üretirler.*
**3)***Kullanıcılar ürettikleri sayı doğrultusunda G^(Sayi) % P şeklinde anahtar elde ederler.*
**4)***Daha sonra bu anahtarları birbirlerine gönderirler.*
**5) ***Kullanıcı, diğer kullanıcıdan gelen bu anahtarı kullanarak G^(gelen anahtar) % P değerlerini hesaplar ki bu değer her iki kullanıcıda da aynı olur işte bu elde edilen değer gizli anahtarımızdır.*

***not =**Aşağıdaki resim en.wikipedia.org adresinden alınmıştır*.

![wikipedia.org dan alıntıdır](http://upload.wikimedia.org/wikipedia/en/c/c8/DiffieHellman.png “wikipedia.org dan alıntıdır”)

Diffie Hellman Anahtar Değişiminin Python dilinde gerçekleştirimi

import random def calcSecret(G , p , randomNum): secret = G ** randomNum secret = secret % p return secret def randomGenerator(): num = random.randrange(15) return num alice = randomGenerator() print “Alice’s number ” , alice bob = randomGenerator() print “Bob’s number ” , bob alicesecret = calcSecret(11 ,29 , alice) bobsecret = calcSecret(11 , 29 , bob) print “Alice’s secret ” , alicesecret print “Bob’s secret ” , bobsecret lastsecret1 = calcSecret(bobsecret , 29 , alice) lastsecret2 = calcSecret(alicesecret , 29 , bob) print lastsecret1 , ” ” , lastsecret2