Diffie-Hellman Anahtar Değişimi: Dünyanın enyuksek dagı

Diffie-Hellman anahtar değişimi (D-H), kriptografik anahtarların değişiminde kullanılan özel bir yöntemdir.

Bu kriptografi alanında uygulanan ilk pratik anahtar değişimi örneklerinden biridir. Diffie-Hellman anahtar değişimi metodu, güvenilmeyen bir sistem üzerinden iletişim kurmak isteyen karşılıklı iki tarafın ortaklaşa bir anahtar üzerinde karar kılabilmesine olanak sağlar. Böylece, iki tarafın da karar kıldığı bir simetrik anahtar, güvenli olmayan sistem üzerinden iletişimi şifrelemek için kullanılabilir. Diffie-Hellman protokolünde amaç, iletişim kurmak isteyen iki taraf arasındaki anahtar değişim prosedürünü, anahtarın kötü tarafların eline geçmediğine emin olacak şekilde güvenli bir şekilde gerçekleştirmektir. Bu işlem bir defa yapıldığında ve taraflar bir anahtar üzerinde ortaklaştığında her iki taraf da kendi mesajını paylaşılan anahtarla şifreleyebilir, böylece taraflar arasındaki iletişim güvenli bir şekilde sağlanmış olur.

Diffie-Hellman Anahtar Değişimi: Tanım, Notlar, Kaynakça
Diffie-Hellman

Bu tasarım ilk defa 1976 yılında Whitfield Diffie ve Martin Hellman tarafından "New Directions in Cryptography" isimli makalelerinde yayımlandı. 2002 yılında Hellman, açık-anahtarlı şifreleme algoritmasına katkıda bulunan Ralph Merkle'e saygıdan bulmuş oldukları algoritmanın adını Diffie-Hellman-Merkle anahtar değişimi olarak adlandırılmasını önerdi (Hellman, 2002).

Diffie-Hellman anahtar değişimi, anahtar-anlaşma protokolü olmasına rağmen, çeşitli kimliği doğrulanmış protokoller için temel oluşturur ve Taşıma Katmanı Güvenliği'nin (TLS) geçici modlarında İleri Gizlilik'i (İngilizce: Forward Secrecy) sağlamak için kullanılır.

Diffie-Hellman protokolünü kısa bir süre sonra asimetrik algoritmaları kullanarak açık-anahtarlı şifreleme gerçekleştirmek için kullanılan RSA algoritması takip etti.

2002'de Martin Hellman:

Sistem...Diffie-Hellman anahtar değişimi olarak bilinmektedir. İlk defa sistem kâğıt üzerinde Diffie ve benim tarafımdan açıklansa da, Merkle tarafından geliştirilmiş olan bir açık anahtar dağıtım sistemidir. Bundan dolayı 'Diffie-Hellman-Merkle anahtar değişimi' olarak adlandırılmalıdır. Ümit ediyorum bu küçük iletişim aracı Merkle'in açık anahtarlı kriptografinin icadına sağladığı katkıların tanınmasına yardımcı olur.

U.S. Patent 4,200,770 numara altında patentlenen bu sistemin patenti dolmuş olup, algoritmanın kendisini tanımlar ve mucitleri olarak Hellman, Diffie ve Merkle bilinir.

Tanım

Diffie-Hellman yaygın olarak gizli iletişimlerde kullanılabilecek yalnızca tarafların bildiği gizli anahtar (İngilizce: common secret) üretmek için kullanılır. Bu anahtar da ortak ağlarda (güvenli olmayan kanaldan) güvenli veri alışverişini sağlamak için kullanılabilir. Aşağıdaki diyagram anahtar değişiminin genel çalışma mantığını çok büyük sayılar yerine renkler kullanarak açıklar. Bu sürecin önemli bir parçası olarak Alice ve Bob kendi gizli renklerini sadece karışım içinde değişirler. Sonunda her iki taraf matematiksel olarak arada dinleyen başka bir kişi tarafından geri döndürülmesi zor olan (Tek Yönlü Fonksiyon, İng: One Way Function) aynı anahtarı elde eder. Bu aşamadan sonra Alice ve Bob oluşturmuş oldukları ortak gizli anahtarla aralarındaki veri alışverişini şifrelemek ve şifre çözmek için kullanırlar. Sarı rengin zaten Alice ve Bob tarafından anlaştıklarına dikkat edin:

Diffie-Hellman Anahtar Değişimi: Tanım, Notlar, Kaynakça 
Illustration of the Diffie-Hellman Key Exchange

Yukarıdaki renk değişimini ve aşağıdaki mantıksal gösterimi de dikkate alarak Diffie-Hellman değişimi şu şekilde açıklanabilir: Kullanılacak protokol üzerindeki grup-üretimi algoritması G, asal sayı p ve grup üretimi için kullanılacak fonksiyon g belirlenir ve tüm taraflar bu değerler üzerinde anlaşarak hesaplamalarını yapar. Yukarıdaki sarı boyalar, iki tarafın da bu protokol üzerinde (G, p, g) anlaştığını belirtir.

İletişim kurmak isteyen taraf, grup fonksiyonunu (g) ve kendi gizli anahtarlarını (a) kullanarak kendi açık anahtarını (ga) hesaplar. Hesapladığı bu açık anahtarı bilinen sistemler üzerinden karşı tarafa iletir. Diğer taraf da aynı şekilde kendi gizli anahtarını hesaplar. Kırmızı ve yeşil boyalar iki tarafın da hesapladığı bu değerleri ga ve gb gösterir. Her iki taraf da birbirleriyle bu değerleri değişirler ve böylece Alice Bob'un açık anahtarı (gb)'ye ve Bob da Alice'in açık anahtarı (ga)'ya erişmiş olur. Böylece Bob Alice'ten eldiği ettiği anahtarı kendi anahtarıyla matematiksel çarpım yaparak (gab)'ye ulaşırken Alice de aynı işlemi uygulayarak (gba)'ya ulaşmış olur. Böylece, iki taraf da matematiğin üslü sayılarda kuvvet birleşimini kullanarak beraber anlaştıkları ortak ve gizli bir anahtara sahip olmuş olurlar. Bu işlemde iki taraf da sahip olduğu gizli anahtarını güvenli olmayan bir sistem üzerinden paylaşmak zorunda kalmaz. Paylaşılan bu anahtarın güvenliliği karar verici Diffie-Hellman probleminin güvenliğine dayanır. (İng: decisional Diffie-Hellman problem) Kısaca, Alice ve Bob arasındaki iletişimi izleyen biri sadece (gab) değerini göreceği ve bunu kullanarak tek yönlü fonksiyon değerleri olan (ga)'yı ve (gb)'yi hesaplayamayacağı varsayıldığı için Diffie-Hellman çözülmesi zor bir problem olarak kabul edilir.

Alice
Bob
Gizli Açık Hesaplar Gönderir
Hesaplar
Açık
Gizli
a
p, g
p,gDiffie-Hellman Anahtar Değişimi: Tanım, Notlar, Kaynakça 

b
a
p, g, A
ga mod p = A ADiffie-Hellman Anahtar Değişimi: Tanım, Notlar, Kaynakça 
p, g
b
a
p, g, A

Diffie-Hellman Anahtar Değişimi: Tanım, Notlar, Kaynakça  B
gb mod p = B
p, g, A, B
b
a, s p, g, A, B
Ba mod p = s

Ab mod p = s
p, g, A, B
b, s
  1. Alice ve Bob aralarında asal sayı olarak p=23 ve taban olarak g=5'i seçmeyi anlaşırlar.
  2. Alice gizli bir tam sayı seçer a=6 ve Bob'a A = ga mod p hesaplayıp gönderir.
    • A = 56 mod 23
    • A = 15.625 mod 23
    • A = 8
  3. Bob da gizli bir tam sayı seçer b=15 ve aynı şekilde Alice'e B = gb mod p hesaplayıp gönderir.
    • B = 515 mod 23
    • B = 30.517.578.125 mod 23
    • B = 19
  4. Alice s = B a mod p yi hesaplar.
    • s = 196 mod 23
    • s = 47.045.881 mod 23
    • s = 2
  5. Bob da s = A b mod p yi hesaplar.
    • s = 815 mod 23
    • s = 35.184.372.088.832 mod 23
    • s = 2
  6. Bu aşamada Alice ve Bob aynı gizli anahtara sahiptirler: s = 2. Çünkü 6*15 ile 15*6 aynıdır. Bu yüzden bu iki gizli tam sayıyı bilen biri de s yi aşağıdaki gibi hesaplayabilir:
    • s = 56*15 mod 23
    • s = 515*6 mod 23
    • s = 590 mod 23
    • s = 807.793.566.946.316.088.741.610.050.849.573.099.185.363.389.551.639.556.884.765.625 mod 23
    • s = 2

Alice de Bob da aynı sonuca ulaştılar, çünkü (ga)b ve (gb)a ikisi de mod p'ye göre aynıdır. Dikkat ederseniz sadece a, b ve gab = gba mod p gizli tutulmuştu. Geri kalan bütün değerler – p, g, ga mod p, and gb mod p – açıkça gönderilmişti (hesaplanarak). Bir kere Alice ve Bob sadece kendilerinin bildiği ortak gizli anahtarı oluşturduktan sonra, bunu açık iletişim kanalında mesaj gönderimlerinde şifreleme anahtarı olarak kullanabilirler. Tabii ki, bu örneğimizi daha güvenli hale getirmek için daha büyük a, b, ve p değerlerine ihtiyacımız var, çünkü gab mod 23 bütün olası değerlerini denemek oldukça basit. Burada olası 23 tane tam sayı değeri vardır mod 23'ün sonucunda. Eğer p en az 300 haneli asal sayı olsaydı, ve a, b en az 100 haneli olsalardı, işte o zaman günümüzde bilinen en iyi algoritmalar bile sadece g, p, gb mod p ve ga mod p verilmiş bile olsa a yı bulamazlar, hatta insanoğlunun bütün işlem gücü verilse de. Bu ayrık logaritma problemi olarak bilinir. Dikkat edin g'nin büyük olmasına gerek yoktur ve pratikte genelde 2, 3 veya 5 kullanılır.

Protokol hakkında daha genel bir açıklama:

  1. Alice ve Bob sınırlı bir devirli grup olan G ve G de bulunan G'nin üretici g elemanında anlaşırlar. (Bu işlem genellikle protokolün geri kalan kısmından daha önce yapılır; g nin saldırganlar tarafından bilindiğini varsayıyoruz.) Grup G yi çarpımsal olarak yazacağız.
  2. Alice rastgele bir a doğal sayısı seçer ve ga yı Bob'a gönderir.
  3. Bob da rastgele bir b doğal sayısı seçer ve aynı şekilde gb yi hesaplayıp Alice gönderir.
  4. Alice (gb)a hesaplar.
  5. Bob da (ga)b hesaplar.

Şu aşamada Alice de Bob da ortak gizli anahtar olarak kullanılabilecek gab ye sahipler. (gb)a ve (ga)b değerleri aynıdır çünkü gruplara kuvvet birleşimi uygulanabilir. (Ayrıca bakınız: Üslü sayı.)

mgab olarak gönderilen şifreli m metnini çözebilmek için, Bob (ya da Alice) ilk önce (gab)-1 aşağıdaki gibi hesaplamalı:

Bob |G|, b, ve ga yı biliyor. Grup teoriden G yapısına göre sonuç saptanır, x|G| = 1 G de bulunan tüm x ler için.

Bob daha sonra (ga)|G|-b = ga(|G|-b) = ga|G|-ab = ga|G|g-ab = (g|G|)ag-ab=1ag-ab=g-ab=(gab)-1 hesaplar.

Alice Bob'a, mgab şeklinde şifreli mesaj gönderdiğinde, Bob orijinal metni elde edebilmek için (gab)-1 uygular ve orijinal metni mgab(gab)-1 = m(1) = m geri döndürmüş olur.

Tablo

Bu tablonun amacı kimin hangi bilgilere sahip olduğunu kolayca anlaşılması içindir. (Eve: Kulakmisafiri — Alice ve Bob'un arasındaki iletişimi içeriğini değiştirmeden dinliyor.)

  • s = ortak gizli anahtar olsun. s = 2
  • g = herkes tarafından bilinen taban(base) olsun. g = 5
  • p = herkes tarafından bilinen (asal) sayı olsun. p = 23
  • a = Alice'in gizli anahtarı olsun. a = 6
  • A = Alice'in açık anahtarı olsun. A = ga mod p = 8
  • b = Bob'un gizli anahtarı olsun. b = 15
  • B = Bob'un açık anahtarı olsun. B = gb mod p = 19
Alice
biliyor bilmiyor
p = 23 b = ?
base g = 5
a = 6
A = 56 mod 23 = 8
B = 5b mod 23 = 19
s = 196 mod 23 = 2
s = 8b mod 23 = 2
s = 196 mod 23 = 8b mod 23
s = 2
Bob
biliyor bilmiyor
p = 23 a = ?
base g = 5
b = 15
B = 515 mod 23 = 19
A = 5a mod 23 = 8
s = 815 mod 23 = 2
s = 19a mod 23 = 2
s = 815 mod 23 = 19a mod 23
s = 2
Eve
biliyor bilmiyor
p = 23 a = ?
base g = 5 b = ?
s = ?
A = 5a mod 23 = 8
B = 5b mod 23 = 19
s = 19a mod 23
s = 8b mod 23
s = 19a mod 23 = 8b mod 23

Not: Alice için Bob'un gizli anahtarını çözmesi zor olmalı ya da Bob için Alice'in gizli anahtarını çözmesi zor olmalı. Eğer, Alice için Bob'un gizli anahtarını çözmek (ya da tam tersi) zor olmazsa, Eve basitçe kendi gizli / açık anahtar çiftiyle değiştirebilir ve Bob'un açık anahtarını kendi gizli anahtarına katıp, sahte ortak gizli anahtar oluşturur ve Bob'un gizli anahtarını elde eder (elde edeceği anahtarla da ortak gizli anahtarı bulabilir. Bob'un gizli anahtarını bulabilmek için Eve gizli / açık anahtar çiftini hesaplamasını kolaylaştıracak şekilde seçmeyi deneyebilir). Diffie-Hellman pratikte uygulaması için pratiklik açısından küçük sayılar kullanın.

Notlar

Kaynakça

Ayrıca bakınız

Tags:

Diffie-Hellman Anahtar Değişimi TanımDiffie-Hellman Anahtar Değişimi NotlarDiffie-Hellman Anahtar Değişimi KaynakçaDiffie-Hellman Anahtar Değişimi Ayrıca bakınızDiffie-Hellman Anahtar DeğişimiKriptografiSimetrik anahtar algoritmaları

🔥 Trending searches on Wiki Türkçe:

NesîmîEbulfez ElçibeyFasNihal AtsızKurtlar Vadisi Pusu karakterleri listesiFatih TerimII. ElizabethAteizmİsviçre1987 Türkiye genel seçimleriŞevval SamKerahat vaktiAnkara'nın ilçeleriAliAySelin Sayek BökeYahudilikGmailPortekiz millî futbol takımıYakup Kadri KaraosmanoğluKaradağMelisa Aslı PamukTürkiye'de asgari ücretSelim Bayraktar (oyuncu)Mustafa DesticiHalkların Demokratik PartisiTürkiye'de kadınlara seçme ve seçilme hakkının tanınmasıBaykar Bayraktar TB2Neşet ErtaşBüyük Selçuklu sultanları listesiSemih SaygınerMehmet Ali Çelebi2023 Türkiye cumhurbaşkanlığı seçiminde adayların belirlenmesiKöksal EngürZafer PartisiZerrin TekindorBirleşik KrallıkGigi HadidKerem AktürkoğluUkraynaKaragöz ve HacivatATA İttifakıEmine Ülker TarhanİYİ PartiHollandaI. Süleyman ŞahİtalyaBaba (dizi, 2022)AlevilikDemokrat Parti (2007)Çağatay UlusoyKuzey MakedonyaBasketbolI. Dünya Savaşıİslam'da oral ilişkiKişi başına nominal GSYİH değerlerine göre ülkeler listesiNurgül YeşilçayFatih AltaylıKerem KınıkYurt PartisiCengiz BozkurtBaykar Bayraktar KızılelmaKavurdKürt HizbullahıSümeyye ErdoğanHaydar AliyevBaykar Bayraktar TB3Cevdet SunayTimurCanan KaftancıoğluTürkiye hükûmetleri listesiDiyanet İşleri BaşkanlığıHalil İnalcıkDepremV. Muradİlker Başbuğİskoç Ulusal PartisiEfes2019 Türkiye yerel seçimleri🡆 More