Pendahuluan

MD5 merupakan salah satu metoda dalam Hash Kriptografi yang outputnya menghasilkan “hash” sepanjang 128 bit.

Artinya, dari sebuah inputan data/message, maka akan dilakukan proses Kriptografi terhadap data/message tersebut, sehingga akan menghasilkan output yang tidak bisa ditebak oleh orang lain, dalam bentuk data “hash” sepanjang 128 bit.

MD5 merupakan :

  • hash cryptography, yaitu kriptografi yang menghasilkan output dengan panjang tetap, dalam hal md5 ini panjangnya akan selalu 128 bit.
  • one way cryptography, yaitu kriptografi yang hanya satu arah saja, dimana kita tidak bisa mendapatkan data/message awalnya dari hash value/output nya.
  • block cipher cryptography, yaitu kriptografi yang melakukan pemrosesan data/message perblok data dibandingkan per-bit.

MD5


MD5 ini didesain oleh Profesor Ronald Rivest dari MIT pada tahun 1991 untuk memperbaiki algoritma hashing sebelumnya, yaitu MD4.

MD5 ini sendiri didefinisikan dalam Rfc 1321

Tujuan dari algoritma MD5 ini sebenarnya untuk keperluan “hashing”, yaitu memetakan sebuah data/message/file dengan nilai tertentu.

Gunanya bukan untuk mendapatkan kembali data/message/file nya kembali.

Akan tetapi untuk :

memastikan bahwa data/message/file yang dikirimkan itu benar-benar sesuai dengan nilai tertentu tersebut.

Sehingga kalau menggunakan algoritma “MD5” ini, maka kita tidak hanya mengirimkan “hash” value nya saja, tetapi juga data/file/message yang kita encypt dengan md5 untuk mendapatkan “hash” valuenya tadi.

Dengan menerima file data dan juga “hash” valuenya dengan MD5 tadi, maka kita bisa melakukan hal yang sama terhadap data/file/message yang dikirimkan.

Apakah kalau diterapkan algoritma MD5 terhadap data/message/file yang diterima, maka akan didapatkan nilai “hash” value yang sama ?

Kalau sama, maka berarti dapat dipastikan bahwa data/message/file tersebut tidak pernah dirubah, di hack, di modifikasi di tengah jalan antara pengirim dan penerima.

Dengan kata lain, kegunaan terpentingnya adalah untuk :

  • digital signature, yaitu memastikan bahwa sebuah message/data/file tidak mengalami perubahan dari saat dikirimkan sampai diterima. Digital signature disini maksudnya secara konsep, bukan terbatas hanya pada “tanda tangan digital” oleh seseorang di sebuah dokumen.

Digital Signature dari MD5 ini ditandai dengan hash value yang dihasilkan dari proses enkripsi terhadap message/data/file nya tersebut.


Kelebihan memakai MD5 ?


  • MD5 menghasilkan nilai keluaran hash 128 bit, yang cukup kecil disimpan dan mudah dibandingkan.
  • pemrosesan yang lebih cepat dalam enkripsi nya karena round enkripsinya yang lebih singkat dibandingkan SHA-1.

Kekurangan memakai MD5 ?


  • Kurang aman dibandingkan dengan algoritma setelahnya seperti SHA-1, SHA-2, dan SHA-3.
  • Cukup mudah untuk menemukan nilai “hash” yang sama untuk input yang berbeda.