MD5 ialah algoritma cincang 128-bit yang dicipta oleh saintis Ronald L. Rivest pada awal 1990-an. Singkatan MD5 adalah singkatan kepada Message Digest Versi 5.
Penyulitan MD5 adalah berdasarkan pencincangan, yang melibatkan pembentukan "cap jari" atau "jumlah" untuk mengesahkan kesahihannya. Menggunakan kaedah ini, anda boleh mengesahkan integriti maklumat serta penyimpanan cincang kata laluan.
Sejarah MD5
Sejarah Algoritma Message Digest (MD5) bermula pada tahun 1991, apabila profesor MIT Ronald L. Rivest melaporkan penciptaan algoritma baharu yang menggantikan MD4 yang usang. Bagi MD4, beberapa kelemahan memang ditemui di dalamnya, seperti yang ditulis oleh pakar kriptologi Jerman Hans Dobbertin kemudiannya.
Rivest menerangkan algoritma MD5 baharu dalam RFC 1321.
Kerja pada algoritma diteruskan oleh penyelidik Bert den Boer dan Anton Bosselars, yang pada tahun 1993 membuktikan kemungkinan perlanggaran pseudo dalam MD5, apabila vektor permulaan yang berbeza boleh dipadankan dengan ringkasan mesej yang sama.
Selanjutnya, pada tahun 1996 Hans Dobbertin mendakwa telah menemui perlanggaran dalam MD5. Pada masa itu, lebih banyak algoritma pencincangan pilihan diketahui, seperti fungsi cincang kriptografi RIPEMD-160 - dibangunkan oleh Hans Dobbertin, Anton Bosselars dan Bart Prenel, Whirlpool - dibangunkan oleh Vincent Raymen dan Paulo Barreto dan algoritma pencincangan kriptografi SHA-1.
Disebabkan saiz cincang yang agak kecil (128 bit) dalam MD5, terdapat perbincangan tentang kemungkinan serangan hari lahir. Projek MD5CRK, yang dilancarkan oleh Jean-Luc Cook pada tahun 2004, bertujuan untuk mengkaji kelemahan algoritma menggunakan serangan hari lahir. Tetapi, selepas lima bulan, pada 17 Ogos 2004, projek itu telah disekat kerana penemuan kelemahan dalam algoritma oleh sekumpulan kriptografi China yang diketuai oleh Lai Xuejia.
Pada Mac 2005, ahli matematik dan kriptografi Benne de Weger, Arjen Lenstra dan Wang Xiaoyun mencipta dua dokumen X.509 dengan cincang yang sama dan kunci awam yang berbeza.
Setahun kemudian, pada Mac 2006, satu algoritma telah diterbitkan oleh ahli kriptografi Czech Vlastimil Klima, yang membolehkan anda menentukan perlanggaran pada komputer mudah dalam masa satu minit sahaja. Algoritma ini dikenali sebagai kaedah "terowong".
Hasil analisis hasil kerja, pada tahun 2008, bahagian Pentadbiran Keselamatan Siber Kebangsaan Jabatan Keselamatan Dalam Negeri AS (US-CERT) mengesyorkan agar semua orang yang terlibat dalam pembangunan perisian, tapak web, serta pengguna rangkaian, berhenti menggunakan algoritma MD5 , tanpa mengira tujuan penggunaannya. Sebab bagi pengesyoran sedemikian ialah ketidakbolehpercayaan yang ditunjukkannya dalam proses mengkajinya.
Pada Disember 2010, pakar kriptologi China Tao Xie dan Feng Denguo menemui perlanggaran mesej sebanyak 512 bit (satu blok). Sebelum ini, perlanggaran ditemui hanya dalam mesej yang panjangnya dua blok atau lebih. Kemudian, Mark Stevens mencapai hasil yang serupa dengan menerbitkan blok dengan cincangan MD5 yang sama. Dia juga membangunkan algoritma untuk mendapatkan perlanggaran jenis ini.
Dokumen terakhir yang menamatkan sejarah pembangunan algoritma MD5 ialah permintaan untuk ulasan - RFC 6151 (RFC ialah dokumen rasmi yang dibangunkan oleh Internet Engineering Council (IETF), yang menerangkan spesifikasi untuk sesuatu teknologi), yang sebenarnya mengiktiraf MD5 sebagai algoritma pencincangan yang tidak selamat . Dokumen itu mengesyorkan untuk meninggalkannya, memilih keluarga algoritma kriptografi SHA-2 sebagai alternatif.
Algoritma MD5 yang dibincangkan dianggap sebagai salah satu piawaian algoritma pertama yang digunakan untuk menyemak integriti fail dan menyimpan kata laluan dalam pangkalan data aplikasi web.
Tetapi, sebenarnya, kefungsian yang agak mudah, panjang keluaran pendek dan kesederhanaan operasi yang dilakukan, sebagai kelebihan algoritma, juga menentukan kelemahannya - MD5 merujuk kepada algoritma yang terdedah kepada penggodaman dan mempunyai tahap rendah perlindungan terhadap serangan hari lahir.