MD5
Güvenlik > Çakışma Açıkları (Collision vulnerabilities)

1996 yılında, MD5 sıkıştırma fonksiyonunda çakışmalar bulundu. Hans Dobbertin RSA Laboratuvarları teknik haber bülteninde "Sunulan saldırı MD5'in pratik uygulamalarını henüz tehdit etmiyor ancak tehdit etmeye çok yakın  ... gelecekte çakışmaya karşı dayanıklı özet fonksiyonun gerekli olduğu durumlarda ... daha fazla MD5 kullanılmamalı . "
2005 yılında araştırmacılar, PostScript belgelerinin ve X.509 sertifikalarının çiftlerini  aynı özet değerinden oluşturabildiler. O yıl, MD5'in tasarımcısı Ron Rivest, "md5 ve sha1'in her ikisinin de (çakışma direnci bakımından) açıkça kırıldığını" yazdı.
30 Aralık 2008'de bir grup araştırmacı, 25. Chaos Communication Kongresi'nde, MD5 özet değeri ile kontrol edildiğinde geçerli görünen, sahte bir ara sertifika yetkilisi sertifikası oluşturmak için MD5 çakışmlarının nasıl kullanılacağını açıkladı. Araştırmacılar, İsviçre'deki  EPFL'de,Sony PlayStation 3 cluster kullanarak, RapidSSL tarafından yayınlanan normal bir SSL sertifikasını, RapidSSL tarafında geçerliliği  imzalanmış sahte sertifikalar üretebilecekleri  CA sertifikasına dönüştürdüler. RapidSSL sertifikalarının onaylayıcısı olan VeriSign, güvenlik açığı ilan edildiğinde, sağlama değeri hesaplamak için MD5 kullanarak oluşturulan yeni RapidSSL sertifikaları için onay  vermeyi bıraktığını duyurdu.VeriSign, MD5 kullanılarak imzalanmış mevcut sertifikaları iptal etmedi, bu karar atağı yaratıcısı olan araştırmacılar tarafından uygun görüldü. (Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, and Benne de Weger).  Bruce Schneier, "MD5'in kırılmış bir özet fonksiyonu olduğunu zaten biliyorduk","artık hiç kimse MD5 kullanmamalı" açıklamalarında bulundu. SSL araştırmacıları "Sertifika Yetkilileri, yeni sertifikalar verirken MD5'i kullanmayı bırakmalıdır. Ayrıca MD5'in diğer uygulamalarda kullanımının tekrar gözden geçirilmesini umuyoruz" ifadelerini içeren bir yazı yayınladılar.
Microsoft'a göre, 2012 yılında, Flame zararlı yazılımının yaratıcıları, MD5 çakışmasını kullanarak bir Windows kod imzalama sertifikası hazırladılar.
MD5, Merkle-Damgård yapısını kullanır; bu nedenle, iki ön-ekle aynı özet değeri oluşturulabiliyorsa, çakışmayı kullanan uygulama, geçerli olarak kabul edilme olasılığının artırmak  için ortak bir sonek ekleyebilir. Ayrıca, mevcut çakışmaları bulma teknikleri rastgele bir ön-ek belirlemeye olanak tanır: bir saldırgan, aynı içerikle başlayan aynı özet değerine sahip iki  dosya oluşturabilir. Aralarında 6 bitlik fark olan iki mesajın MD5 çakışma örneği:
d131dd02c5e6eec4 693d9a0698aff95c 2fcab58712467eab 4004583eb8fb7f89
55ad340609f4b302 83e488832571415a 085125e8f7cdc99f d91dbdf280373c5b
d8823e3156348f5b ae6dacd436c919c6 dd53e2b487da03fd 02396306d248cda0
e99f33420f577ee8 ce54b67080a80d1e c69821bcb6a88393 96f9652b6ff72a70
d131dd02c5e6eec4 693d9a0698aff95c 2fcab50712467eab 4004583eb8fb7f89
55ad340609f4b302 83e4888325f1415a 085125e8f7cdc99f d91dbd7280373c5b
d8823e3156348f5b ae6dacd436c919c6 dd53e23487da03fd 02396306d248cda0
e99f33420f577ee8 ce54b67080280d1e c69821bcb6a88393 96f965ab6ff72a70
İki mesaj da aynı MD5 özet değerine sahip:79054025255fb1a26e4bc422aef54eb4.
İki örnek arasındaki fark, her bayt için en öndeki bitin flip edilmiş olmasıdır. Örneğin, ilk örneğin 20. baytı (offset 0x13), 0x87, ikilik tabanda 10000111'dir. Bu baytın ilk biti flip edildiğinde ikilik tabanda 00000111 elde edilmiş olur. Bu sayı da ikinci örnekteki  0x07'dir.
Daha sonra ayrı ayrı seçilen iki dosya arasında çakışma oluşturmanın mümkün olduğu bulundu. Bu teknik  2008 yılında, sahte CA sertifikası oluşturmak için kullanıldı.2014'te Anton Kuznetsov tarafından MPI kullanarak paralelleştirilmiş çakışma araştırmasının yeni bir varyasyonun, cluster kullanarak 11 saatte çakışma bulduğu açıklandı.