Aşağıdaki MD5 hesaplama aracına MD5 değerini hesaplamak istediğiniz metni giriniz ve hesapla butonuna basınız.
MD5 (Message-Digest algorithm , yaygın olarak kullanılan bir kriptografik özet fonksiyonudur. Girilen verinin boyutundan bağımsız olarak, 128-bit özet değeri üretir. MD5 ilk olarak kriptografik özet fonksiyonu olarak tasarlanmış olmasına rağmen geniş çaplı güvenlik açıkları tespit edilmiştir. Veri bütünlüğünün sağlandığını kontrol etmek için sağlama değeri (ing: checksum) üretmek amacıyla kullanılır. Ancak sadece kasıtsız yapılan değişiklere karşı kullanışlıdır.
Bir çok özet (hash) fonksiyonu gibi MD5 da şifreleme algoritmaları içermez. Kaba kuvvet saldırısı ile kırılabilir. Aşağıdaki Güvenlik bölümünde ayrıntılı olarak açıklandığı gibi geniş çaplı güvenlik açıklarından muzdariptir.
MD5 , Ron Rivest tarafından 1991 yılında, daha önceki versiyon olan MD4 yerine kullanılması amacıyla tasarlanmıştır.[1] RFC 1321'deki kaynak kodu RSA lisansı içerir. "MD" kısaltması "Mesaj Özeti (Message Digest)" anlamına gelmektedir.
MD5'ın güvenilirliği ciddi olarak sarsılmıştır. İçerdiği güvenlik zafiyetleri sahada da kullanılmıştır, bunlardan en önemlisi 2012'deki Flame kötücül yazılımıdır(Flame malware). CMU Yazılım Mühendisliği Enstitüsü MD5'ı için "kriptografik açıdan kırılabilir daha fazla kullanım için uygun değildir" açıklamasında bulunmuştur.
Güvenlik
MD5 özet fonksiyonunun güvenilirliği ciddi şekilde sarsılmıştır.2,6 GHz Pentium 4 işlemcili bir bilgisayarda birkaç saniye içinde çarpışmalara neden olabilecek bir çarpışma saldırısı mevcuttur.Ayrıca chosen-prefix collision attack ile belirli ön eklere sahip iki girdiden saatler içersinde çakışma bulunabilir. Çakışmaları bulmak, hazır GPU'ların kullanımı ile büyük ölçüde kolaylaşmıştır. NVIDIA GeForce 8400GS grafik işlemcisinde saniyede 16-18 milyon özet değeri hesaplanabilir. NVIDIA GeForce 8800 Ultra, saniyede 200 milyondan fazla özet değeri hesaplayabilir.
Bu hash değeri çakışması saldırıları, dosyaların çakışması , sayısal sertifikalar (digital certificates)'ın çakışması da dahil olmak üzere kamuoyuna duyuruldu.2015'ten itibaren, MD5'in oldukça yaygın olarak kullanıldığı, güvenlik araştırmaları ve antivirüs şirketleri tarafından gösterildi.
Güvenlik konularına genel bakış
1996'da MD5'ın tasarımında bir hata bulundu. Bu hata dönemde çok önemli bir güvenlik açığı sayılmasa da, kriptografçılar, o zamanlar güvenlik açıkları olduğu tespit edilen tespit edilen SHA-1 için olduğu gibi MD5 için de başka algoritmaların kullanılmasını önermeye başladılar.2004 yılında MD5'in çakışmaya karşı güvenli olmadığı gösterildi.Bu nedenle, MD5, SSL sertifikaları veya dijital imza gibi dijital güvenliğe dayalı uygulamalar için uygun değildir. Ayrıca 2004 yılında, algoritmayı güvenlik nedeniyle şaibeli hale getiren daha ciddi kusurlar keşfedildi; Özellikle bir grup araştırmacı, aynı MD5 sağlama değerini üreten bir çift dosya oluşturduklarını açıkladı.[2005, 2006 ve 2007 yıllarında MD5'ı kırmak için daha fazla ilerleme kaydedildi.Aralık 2008'de bir grup araştırmacı bu tekniği sahte SSL sertifikası üretmek için kullandı.
2010 itibarıyla, CMU Yazılım Mühendisliği Enstitüsü MD5'ı için "kriptografik açıdan kırılabilir daha fazla kullanım için uygun değildir" açıklamasında bulunmuştur ve ABD hükümet uygulamalarının çoğunda SHA-2 ailesi özet fonksiyonlarının kullanılması gerekmektedir. 2012'de, Flame kötücül yazılımı(Flame malware) ile MD5'daki güvenlik açıkları, sahte Microsoft dijital imzası üretmek için kullanıldı.
Ç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[31] 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ılaacağı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ıcsı 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 arttı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.