MD5 adalah algoritme hash 128-bit yang dibuat oleh ilmuwan Ronald L. Rivest pada awal 1990-an. Singkatan MD5 adalah singkatan dari Message Digest Version 5.
Enkripsi MD5 didasarkan pada hashing, yang melibatkan pembentukan "sidik jari" atau "jumlah" untuk memverifikasi keasliannya lebih lanjut. Dengan menggunakan metode ini, Anda dapat memverifikasi integritas informasi, serta penyimpanan hash sandi.
Sejarah MD5
Sejarah Message Digest Algorithm (MD5) dimulai pada tahun 1991, ketika profesor MIT Ronald L. Rivest melaporkan pembuatan algoritme baru yang menggantikan MD4 yang sudah usang. Adapun MD4, sejumlah kekurangan memang ditemukan di dalamnya, seperti yang kemudian ditulis oleh kriptolog Jerman Hans Dobbertin.
Rivest menjelaskan algoritme MD5 baru di RFC 1321.
Pengerjaan algoritme dilanjutkan oleh peneliti Bert den Boer dan Anton Bosselars, yang pada tahun 1993 membuktikan kemungkinan tabrakan semu di MD5, ketika vektor inisialisasi yang berbeda dapat cocok dengan intisari pesan yang sama.
Selanjutnya, pada tahun 1996 Hans Dobbertin mengklaim telah menemukan tabrakan di MD5. Pada saat itu, algoritma hashing yang lebih disukai dikenal, seperti fungsi hash kriptografi RIPEMD-160 - dikembangkan oleh Hans Dobbertin, Anton Bosselars dan Bart Prenel, Whirlpool - dikembangkan oleh Vincent Raymen dan Paulo Barreto dan algoritma hashing kriptografi SHA-1.
Karena ukuran hash yang relatif kecil (128 bit) di MD5, ada pembicaraan tentang kemungkinan serangan ulang tahun. Proyek MD5CRK, diluncurkan oleh Jean-Luc Cook pada tahun 2004, bertujuan untuk mempelajari kerentanan algoritma menggunakan serangan ulang tahun. Namun, setelah lima bulan, pada 17 Agustus 2004, proyek tersebut dihentikan karena ditemukannya kerentanan dalam algoritme oleh sekelompok kriptografer China yang dipimpin oleh Lai Xuejia.
Pada bulan Maret 2005, ahli matematika dan kriptografer Benne de Weger, Arjen Lenstra, dan Wang Xiaoyun membuat dua dokumen X.509 dengan hash yang sama dan kunci publik yang berbeda.
Setahun kemudian, pada Maret 2006, sebuah algoritme diterbitkan oleh kriptografer Ceko Vlastimil Klima, yang memungkinkan Anda menentukan tabrakan pada komputer sederhana hanya dalam satu menit. Algoritme ini kemudian dikenal sebagai metode "tunneling".
Sebagai hasil dari analisis hasil kerja, pada tahun 2008, divisi Administrasi Keamanan Siber Nasional Departemen Keamanan Dalam Negeri AS (US-CERT) merekomendasikan agar setiap orang yang terlibat dalam pengembangan perangkat lunak, situs web, serta pengguna jaringan, berhenti menggunakan algoritma MD5 , terlepas dari tujuan penerapannya. Alasan untuk rekomendasi semacam itu adalah ketidakandalan yang dia tunjukkan dalam proses mempelajarinya.
Pada bulan Desember 2010, ahli kriptologi Tiongkok Tao Xie dan Feng Denguo menemukan tabrakan pesan 512 bit (satu blok). Sebelumnya, tabrakan hanya ditemukan pada pesan yang panjangnya dua blok atau lebih. Belakangan, Mark Stevens mencapai hasil serupa dengan menerbitkan blok dengan hash MD5 yang sama. Dia juga mengembangkan algoritme untuk mendapatkan tabrakan jenis ini.
Dokumen terakhir yang mengakhiri sejarah pengembangan algoritme MD5 adalah permintaan komentar - RFC 6151 (RFC adalah dokumen resmi yang dikembangkan oleh Internet Engineering Council (IETF), yang menjelaskan spesifikasi untuk teknologi), yang sebenarnya mengenali MD5 sebagai algoritma hashing yang tidak aman . Dokumen tersebut merekomendasikan untuk mengabaikannya, memilih kelompok algoritme kriptografi SHA-2 sebagai alternatif.
Algoritme MD5 yang dibahas dianggap sebagai salah satu standar algoritme pertama yang digunakan untuk memeriksa integritas file dan menyimpan sandi di database aplikasi web.
Namun, pada kenyataannya, fungsionalitas yang relatif sederhana, panjang keluaran yang pendek, dan kesederhanaan operasi yang dilakukan, menjadi keunggulan algoritme, juga menentukan kerugiannya - MD5 mengacu pada algoritme yang rentan terhadap peretasan dan memiliki tingkat peretasan yang rendah perlindungan terhadap serangan ulang tahun.