~/sibercrew
Kriptografi

Hash Fonksiyonları ve Çarpışma Direnci

Tek yönlü hash fonksiyonlarının temel özellikleri ve SHA-1'in neden artık güvenilmez sayıldığı.

Kriptografik hash fonksiyonları, herhangi bir uzunluktaki veriyi sabit uzunlukta bir "özet" (digest) değerine dönüştüren, tek yönlü (one-way) matematiksel fonksiyonlardır. Bu makale, iyi bir hash fonksiyonunun sahip olması gereken özelliklere ve gerçek dünyada yaşanan çarpışma saldırılarına odaklanır.

Bir Hash Fonksiyonunun Üç Temel Özelliği

  1. Ön-görüntü direnci (preimage resistance): Verilen bir hash değeri H'den, bu değeri üreten orijinal veri M'yi bulmak hesaplama açısından pratik olarak imkânsız olmalıdır. (Tek yönlülük)
  2. İkinci ön-görüntü direnci (second preimage resistance): Verilen bir M1 ve onun hash'i H1 için, aynı hash'i üreten farklı bir M2 bulmak imkânsız olmalıdır.
  3. Çarpışma direnci (collision resistance): Herhangi iki farklı M1 ve M2'nin aynı hash değerini üretmesi (H(M1) = H(M2)) son derece zor olmalıdır — bu, üçüncü özelliklerin en zayıf/en kolay kırılabilir olanıdır çünkü belirli bir hedef hash'e değil, HERHANGİ bir çarpışmaya odaklanır.

Doğum Günü Paradoksu ve Çarpışma Matematiği

Çarpışma direncinin gücü, "doğum günü paradoksu" (birthday paradox) ile matematiksel olarak ilişkilidir: bir odada sadece 23 kişi olsa bile, herhangi iki kişinin aynı gün doğmuş olma ihtimali %50'yi geçer — bu sezgiye aykırı görünse de kombinatorik matematiğin bir sonucudur. Aynı mantık hash'lere uygulandığında, bir hash fonksiyonunun n-bit çıktısı için, rastgele denemeyle bir çarpışma bulma ihtimali, beklenenin (2^n) aksine yaklaşık 2^(n/2) denemede %50'ye ulaşır. Bu yüzden 128-bit'lik bir hash, sezgisel olarak "çok güvenli" görünse de, çarpışma direnci açısından sadece 2^64 civarı bir güvenlik seviyesine sahiptir — bu, modern hesaplama gücüyle artık pratik bir saldırı sınırına yaklaşmaktadır.

SHA-1'in Düşüşü: SHAttered Saldırısı

2017'de bir araştırma ekibi, "SHAttered" adı verilen saldırıyla SHA-1 için pratik bir çarpışma ürettiğini duyurdu — iki farklı PDF dosyası, aynı SHA-1 hash değerine sahip olacak şekilde üretildi. Bu, teorik bir zafiyetin artık PRATİKTE gerçekleştirilebilir olduğunu kanıtladı ve büyük tarayıcılar ile sertifika otoriteleri SHA-1'i hızla kullanımdan kaldırdı. Bu olay, kriptografi camiasında sık tekrarlanan bir dersi somutlaştırdı: "teorik olarak zayıf" bir algoritmanın, hesaplama gücü arttıkça er ya da geç "pratikte kırılabilir" hâle gelmesi zaman meselesidir.

MD5'in Durumu ve Hâlâ Nerede Kullanılabilir?

MD5, çarpışma direnci açısından SHA-1'den çok daha önce (2004'te) kırıldı ve kriptografik amaçlar için (dijital imza, şifre saklama, sertifika imzalama) kesinlikle kullanılmamalıdır. Ancak MD5, kriptografik OLMAYAN amaçlar için (örneğin bir dosyanın rastgele bozulup bozulmadığını kontrol eden basit bir bütünlük kontrolü, kasıtlı bir saldırganın olmadığı senaryolarda) hâlâ teknik olarak "kullanılabilir" — bu ayrımı doğru yapmak önemlidir: MD5'in sorunu HIZLI olması ve rastgele veri bozulmasını tespit etmesi değil, KASITLI bir saldırganın aynı hash'e sahip iki farklı, anlamlı veri üretebilmesidir.

Modern Standart: SHA-256 ve SHA-3

Günümüzde SHA-256 (SHA-2 ailesinden) sektör standardıdır ve şu ana kadar pratik bir çarpışma saldırısı bilinmemektedir. SHA-3, tamamen farklı bir iç yapıya (Keccak sponge construction) dayanır ve SHA-2'ye olası gelecekteki bir kriptanalitik saldırıya karşı bir "çeşitlilik sigortası" olarak NIST tarafından standartlaştırılmıştır.

Pratik Senaryo

Bir yazılım şirketi, eski bir sistemde dosya bütünlüğü doğrulaması için hâlâ MD5 kullandığını fark ediyor — bu sistem, indirilen güncelleme dosyalarının bozulup bozulmadığını kontrol etmek için MD5 hash'i karşılaştırıyordu. Güvenlik denetimi, bu kullanımın ciddi bir risk taşıdığını ortaya koyuyor: bir saldırgan, MD5'in çarpışma zafiyetini kullanarak meşru bir güncellemeyle AYNI MD5 hash'ine sahip zararlı bir dosya üretebilir ve bu sahte dosya sistem tarafından "doğrulanmış" olarak kabul edilebilir. Şirket, bütünlük doğrulamasını SHA-256'ya taşıyor ve ek olarak dijital imza doğrulaması ekliyor — bu, sadece hash karşılaştırmasının ötesinde, dosyanın gerçekten meşru kaynaktan geldiğini kriptografik olarak kanıtlıyor.

Bu makale, kriptografik hash fonksiyonlarının orta-ileri seviye teknik bir özetidir; SiberCrew ekibi tarafından hazırlanmış özgün içeriktir.