MD5, 1990'ların başında bilim adamı Ronald L. Rivest tarafından oluşturulan 128 bitlik bir hash algoritmasıdır. MD5 kısaltması, Message Digest Version 5'in kısaltmasıdır.
MD5 şifrelemesi, özgünlüklerini daha fazla doğrulamak için "parmak izlerinin" veya "toplamların" oluşturulmasını içeren karma işlemi temel alır. Bu yöntemi kullanarak, bilgilerin bütünlüğünün yanı sıra parola karmalarının depolanmasını da doğrulayabilirsiniz.
MD5 geçmişi
Mesaj Özetleme Algoritmasının (MD5) tarihi, 1991 yılında, MIT profesörü Ronald L. Rivest'in eskimiş MD4'ün yerini alan yeni bir algoritmanın oluşturulduğunu bildirmesiyle başlar. Alman kriptolog Hans Dobbertin'in daha sonra yazdığı gibi, MD4'te gerçekten de bazı eksiklikler bulundu.
Rivest, yeni MD5 algoritmasını RFC 1321'de açıkladı.
Algoritma üzerindeki çalışmaya, 1993'te farklı başlatma vektörleri aynı mesaj özetleriyle eşleşebildiğinde MD5'te sözde çarpışma olasılığını kanıtlayan araştırmacılar Bert den Boer ve Anton Bosselars tarafından devam edildi.
Ayrıca, 1996'da Hans Dobbertin, MD5'te bir çarpışma bulduğunu iddia etti. O zamanlar, Hans Dobbertin, Anton Bosselars ve Bart Prenel tarafından geliştirilen RIPEMD-160 kriptografik karma işlevleri, Vincent Raymen ve Paulo Barreto tarafından geliştirilen Whirlpool ve SHA-1 kriptografik karma algoritması gibi daha çok tercih edilen karma algoritmalar bilinir hale geldi.
MD5'teki nispeten küçük karma boyutu (128 bit) nedeniyle, doğum günü saldırılarının olasılığı hakkında konuşuluyor. 2004 yılında Jean-Luc Cook tarafından başlatılan MD5CRK projesi, doğum günü saldırılarını kullanarak algoritmanın güvenlik açığını incelemeyi amaçlıyordu. Ancak, beş ay sonra, 17 Ağustos 2004'te, Lai Xuejia liderliğindeki bir grup Çinli kriptograf tarafından algoritmadaki bir güvenlik açığının keşfedilmesi nedeniyle proje kısıtlandı.
Mart 2005'te matematikçiler ve kriptograflar Benne de Weger, Arjen Lenstra ve Wang Xiaoyun, aynı karma ve farklı genel anahtarlara sahip iki X.509 belgesi oluşturdu.
Bir yıl sonra, Mart 2006'da, Çek kriptografı Vlastimil Klima tarafından basit bir bilgisayarda çarpışmaları yalnızca bir dakika içinde belirlemenizi sağlayan bir algoritma yayınlandı. Bu algoritma, "tünel açma" yöntemi olarak bilinmeye başlandı.
Çalışma sonuçlarının analizi sonucunda, 2008 yılında ABD İç Güvenlik Bakanlığı Ulusal Siber Güvenlik İdaresi bölümü (US-CERT) geliştirmede yer alan herkese tavsiye etti. yazılımların, web sitelerinin ve ağ kullanıcılarının çoğunluğu, uygulamasının amacı ne olursa olsun, MD5 algoritmasını kullanmayı bırakıyor. Böyle bir tavsiyenin nedeni, onu inceleme sürecinde gösterdiği güvenilmezlikti.
Aralık 2010'da Çinli kriptologlar Tao Xie ve Feng Denguo, 512 bitlik (bir blok) bir mesaj çarpışması keşfettiler. Önceden, çarpışmalar yalnızca iki veya daha fazla blok uzunluğundaki mesajlarda bulunuyordu. Daha sonra Mark Stevens, aynı MD5 karma değerine sahip bloklar yayınlayarak benzer sonuçlar elde etti. Ayrıca bu tür çarpışmaları elde etmek için bir algoritma geliştirdi.
MD5 algoritmasının gelişim geçmişine son veren son belge, bir yorum talebiydi - RFC 6151 (RFC, İnternet Mühendisliği Konseyi (IETF) tarafından geliştirilen ve belirli bir algoritmanın özelliklerini açıklayan resmi bir belgedir) MD5'i aslında güvensiz bir karma algoritma olarak tanıyan teknoloji). Belge, alternatif olarak SHA-2 kriptografik algoritma ailesinin seçilmesini öneriyor.
Etkilenen MD5 algoritması, dosyaların bütünlüğünü kontrol etmek ve web uygulaması veritabanlarında parolaları saklamak için kullanılan ilk algoritma standartlarından biri olarak kabul edilir.
Ancak, aslında, nispeten basit işlevsellik, kısa çıktı uzunluğu ve gerçekleştirilen işlemlerin basitliği, algoritmanın avantajları olmakla birlikte dezavantajlarını da belirler - MD5, bilgisayar korsanlığına yatkın ve düşük düzeyde güvenlik düzeyine sahip algoritmaları ifade eder. doğum günü saldırılarına karşı koruma.