0Pricing
Cryptology Academy · Ders

Doğum Günü ve Çakışma Saldırıları

Doğum günü paradoksunu özet çakışmalarına ve özet uzunluğu genişletmesine uygulayın.

Doğum Günü ve Çakışma Saldırıları, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

Doğum Günü Paradoksu

23 kişilik bir grupta iki kişinin aynı doğum gününe sahip olma olasılığı %50'yi aşar. 70 kişi olduğunda bu olasılık %99,9'u aşar. Matematiksel olarak, N büyüklüğünde bir kümede çakışma olasılığı yaklaşık √N örnekten sonra %50'yi aşar. Buna doğum günü sınırı denir.

Özet İşlevleri için Doğum Günü Sınırı

n bitlik bir özet işlevi için bir çakışma (H(m1) = H(m2), m1 ≠ m2), yaklaşık 2^{n/2} rastgele denemeyle bulunabilir. SHA-256 (256 bit) için çakışma bulmak yaklaşık 2^{128} işlem gerektirir; bu hesaplama açısından uygulanabilir değildir. MD5 (128 bit) için gereken yaklaşık 2^{64} işlemlik maliyet ise sınırda uygulanabilirdir.

Çakışma Saldırısı Algoritması

Genel amaçlı çakışma bulma: 2^{n/2} rastgele ileti üretin, özetleri hesaplayın, özet değerine göre sıralayın ve yinelenenleri bulun. Bellek O(2^{n/2}) olur. Rho algoritması (Floyd'un döngü bulma yöntemi), aynı zaman maliyetinde belleği O(1)'e düşürür. van Oorschot-Wiener paralel çakışma araması, donanımla süreyi azaltır.

MD5 Çakışmaları

MD5'te pratik çakışmalar, doğum günü saldırısı kullanılarak değil, diferansiyel kriptanaliz kullanılarak Wang ve arkadaşları tarafından 2004'te bulundu. Özdeş MD5 özetine sahip iki farklı 1024 bitlik ileti saniyeler içinde üretilebiliyor. Hertzbleed ve seçilmiş önek çakışmaları, sertifika çakışmaları oluşturmaya olanak tanır. MD5, çakışma direnci açısından tamamen kırılmıştır.

Seçilmiş Önek Çakışmaları

Daha güçlü bir yaklaşımda, iki rastgele önek P1 ve P2 verildiğinde H(P1||S1) = H(P2||S2) olacak S1 ve S2 sonekleri bulunur. Stevens ve arkadaşları (2017), seçilmiş önekli MD5 çakışmaları buldu. Bu yöntem, geçerli bir MD5 imzasına sahip kötü amaçlı bir CA sertifikası oluşturmak için kullanıldı. MD5'in sertifikalarda kullanımına son verildi.

SHA-1 Çakışmaları

Google'ın SHAttered çalışması (2017), SHA-1'deki ilk pratik çakışmayı ortaya koydu. Aynı SHA-1 özetine sahip iki farklı PDF dosyası üretildi. 2^{63.1} SHA-1 sıkıştırma işlemi gerekti; bu, 6.500 CPU yılına ve 110 GPU yılına eşdeğerdi. Maliyet yaklaşık 110.000 dolardı. Tarayıcılar SHA-1 sertifikalarını 2017'de kullanımdan kaldırdı.

Uzunluk Genişletme Saldırıları

Merkle-Damgård özet işlevleri (MD5, SHA-1, SHA-2) için: H(m)'yi biliyorsanız, m'yi bilmeden H(m||padding||m') hesaplayabilirsiniz. Bu durum H(secret||message) gibi MAC yapılarının güvenliğini bozar. Çözüm: HMAC kullanın (iç ve dış dolgu kullanır) veya SHA-3 kullanın (sünger yapısı; uzunluk genişletme saldırılarına karşı bağışıktır).

Çakışma Direnci ve Ön Görüntü Direnci

Çakışma direnci: aynı özete sahip, birbirinden farklı herhangi iki mesaj bulma (2^{n/2} çalışma). İkinci ön görüntü direnci: m verildiğinde, aynı özete sahip m' ≠ m bulma (2^n çalışma). Ön görüntü direnci: belirli bir özet için herhangi bir mesaj bulma (2^n çalışma). Çakışma direnci her zaman en zayıf olanıdır.

MAC Çakışma Saldırıları

MAC, çakışmalara karşı savunmasız bir özet işlevi kullanıyorsa, H içinde çakışma bulabilen bir saldırgan MAC'leri sahteleyebilir. HMAC-MD5, MD5 çakışmalarına rağmen güvenli kabul edilir; çünkü HMAC yapısı yalnızca çakışma saldırılarını değil, ön görüntü saldırılarını gerektirir. Ancak yeni sistemler için HMAC-MD5 kullanımından vazgeçin.

Çoklu Çakışmalar

Joux (2004): Merkle-Damgård özetleri için 2^k-yollu çakışmalar bulmak (aynı özete sahip 2^k mesaj) tek bir çakışma bulmak için gereken çalışmanın k katını değil, yalnızca k katını gerektirir. Bu durum birleştirilmiş özetlerdeki güvenlik açıklarını büyütür (H1(m)||H2(m), düşünüldüğü kadar güçlü değildir).

Çakışmalardan Kaçınma

Çakışmaya dayanıklı özetleme için SHA-256 veya SHA-3 kullanın. Herhangi bir güvenlik amacıyla MD5 ve SHA-1 kullanmaktan kaçının. MAC'ler için HMAC-SHA-256 veya HMAC-SHA-3 kullanın. Parola özetleme için doğrudan SHA-2 yerine Argon2 kullanın. Uzunluk genişletme saldırılarına karşı direnç gerektiğinde her zaman SHA-3 kullanın.

Hızlı Kontrol

n bitlik bir özet işlevinde çakışma bulmak için yaklaşık kaç özet hesaplaması gerekir?

Özet

Doğum günü saldırısı, 2^{n/2} çalışma ile özet çakışmaları bulur. MD5'in pratik seçilmiş ön ek çakışmaları vardır; SHA-1, 2017'de kırılmıştır. Uzunluk genişletme saldırıları, saf H(key||msg) MAC'lerinin güvenliğini bozar. SHA-256 veya SHA-3 kullanın; mesaj kimlik doğrulaması için HMAC kullanın. Sıradaki konu: ortada buluşma saldırıları.

Sıkça Sorulan Sorular

“Doğum Günü ve Çakışma Saldırıları” dersi ücretsiz mi?

Evet — “Doğum Günü ve Çakışma Saldırıları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“Doğum Günü ve Çakışma Saldırıları” dersinde ne öğreneceğim?

Doğum günü paradoksunu özet çakışmalarına ve özet uzunluğu genişletmesine uygulayın. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Doğum Günü ve Çakışma Saldırıları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Diferansiyel Kriptanaliz Temelleri
  2. Doğrusal Kriptanaliz ve Yaklaşım Tabloları
  3. Doğum Günü ve Çakışma Saldırıları
  4. Ortada Buluşma ve Zaman-Bellek Dengeleri
← Cryptology Academy Sayfasına Dön