Cool Social Media Sharing Touch Me Widget by Blogger Widgets

Home » » Mengenal MD5 !.

Mengenal MD5 !.

Pengertian MD5 ?

Pengertian MD5 (Message-Digest algortihm 5) adalah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit (sumber: wikipedia). MD5 itu adalah salah satu dari one-way hashing algorithms yg bisa menerima input dg arbitrary length lalu menghasilkan digest/output 128-bit. Penjelasan MD5 secara sederhana : dari input yg panjangnya terserah bisa dicerna menjadi suatu "kode" yang panjangnya selalu sama (128 bit; kalo ditulis dlm hex jadi 32 characters). Yang dimaksud hash atau digest adalah sifatnya yg men-"cerna" menjadi "kode" pendek itu. Inputnya cuma beda satu bit aja maka outputnya berbeda dari yang aslinya ; sifat ini yang cocok untuk penerapan MD5 sebagai checksum (misalnya utk ngecek/verify untuk download corrupt apa nggak, bukan cuma ISO image aja, bisa file/data apa aja). Yang dimaksud one-way adalah proses MD5 itu adalah dari input ke output saja, jadi kalo cuma diketahui outputnya saja tidak bisa diketahui inputnya. Sifat ini menyebabkan MD5 cocok juga utk menyimpan hash dr password utk authentication (yg disimpan cukup hashnya, tidak perlu passwordnya, ini juga salah satu alasan kenapa kalo passwordnya lupa adminnya juga gak bisa recover jadi harus direset/ganti password baru). Jadi dengan fasilitas Anda hanya bisa mengacaknya saja, namun tidak bisa menterjemahkan apa arti dari Hasil MD5 tersebut. Makanya jangan heran, sebuah situs yang menggunakan password MD5 sebagai penyimpan passwordnya tidak mampu menrecover password yang hilang, hanya bisa mengganti / mereset  password yang hilang tersebut dengan password baru. Password MD5 merupakan salah satu perlindungan kepada user dalam menggunakan fasilitas internet di dunia maya, terutama yang berhubungan dengan password, karena sebuah password adalah kunci yang sangat berharga bagi kita yang sering melakukan aktifitas di dunia maya, bisa kita bayangkan apabila seorang cracker mampu menjebol database website misalnya situs pemerintah yang sifatnya sangat rahasia kemudian cracker tersebut mencari bug dari situs targetnya dengan berbagai macam metode/teknik Hacking (seperti : SQL Injection, Keylogger, Social Engineering, Trojan Horse, DDOS d.l.l) supaya cracker bisa menembus ke database dan mendapatkan password korbannya dalam bentuk hash, dan kalau berhasil mencuri passwordnya dalam bentuk hash yang totalnya berjumlah 32bit (contoh hash : fdf0ef0ea5c1620f77107f3f1047fb4c) maka dengan mudah password hash hasil encrypt MD5 tersebut tinggal di decrypt ke dalam bentuk plain text (teks biasa) dengan menggunakan tools/software yang bisa didownload gratis dari google maupun website penyedia layanan decrypt password hash MD5 ke password yang sebenarnya, dengan demikian secara otomatis sang cracker pun dengan leluasa melakukan semua  hal yang dia inginkan seperti mencuri data, merubah data, mengganti tampilan suatu website (Deface) dan bahkan ada yang hanya mendiamkannya saja karena maksud utamanya adalah untuk mengetes security dari situs targetnya saja dan untuk memenuhi rasa penasarannya  sampai dia bisa menembus databasenya dan tidak berniat untuk merusak, setelah bisa ditembus databasenya ditinggalkan begitu saja , biasanya hal tersebut dilakukan oleh seorang hacker golongan putih (WhiteHat).

Sejarah MD5

Sejarah singkat MD5 di mulai pada tahun 1991 yang didesain oleh Prof. Ronald Rivest dari universitas di Amerika Serikat yaitu MIT, Prof. Ronald Rivest mendesain MD5 karena telah ditemukan kelemahan pada MD4 yang ditemukan Hans Dobbertin. Pada Tahun 1996 Hans Dobbertin menemukan sebuah kerusakan/celah pada fungsi kompresi MD5, namun hal ini bukanlah serangan terhadap hash MD5 sepenuhnya, sehingga dia mengumumkan untuk para pengguna kriptografi menganjurkan supaya mengganti dengan WHIRLPOOL, SHA-1, atau RIPEMD-160.
Namun lambat laun MD5 sudah tidak bisa diandalkan lagi karena hash hasil encrypt MD5 mulai menampakkan kerusakannya dan sudah diketahui rahasia algoritma pada MD5, hal tersebut ditemukan kerusakannya pada tanggal 17 Agustus 2004 oleh Xiaoyun Wang, Dengguo Feng, Xuejia Lay dan Hongbo Yu, kalau dilihat dari namanya mereka berasal dari negri tirai bambu China,  sekedar info saja bahwa serangan yang mereka lakukan untuk bisa men-decrypt hash MD5 ke plain text hanya membutuhkan waktu satu jam saja, dengan menggunakan IBM P690 cluster.
Kesimpulan : ”Bahwa didunia ini tidak ada Password yang aman untuk digunakan, karena semua itu masih menggunakan logika manusia untuk membuat Algoritmanya”.

Agoritma dan Cara Kerja.

a. Penjelasan Algoritma MD5
Setiap pesan yang akan dienkripsi, terlebih dahulu dicari berapa banyak bit yang terdapat pada pesan. Kita anggap sebanyak b bit. Di sini b adalah bit non negatif integer, b bisa saja nol dan tidak harus selalu kelipatan delapan.

b. Cara Kerja MD5
    Langkah-langkah pembuatan message digest secara garis besar:
1. Penambahan bit-bit pengganjal (padding bits).
2. Penambahan nilai panjang pesan semula.
3. Inisialisasi penyangga (buffer) MD.
4. Pengolahan pesan dalam blok berukuran 512 bit.

1. Penambahan Bit-bit Pengganjal 
  • Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512. 
  • Jika panjang pesan 448 bit, maka pesan tersebut ditambah dengan 512 bit menjadi 960 bit. Jadi, panjang bit-bit pengganjal adalah antara 1 sampai 512. 
  • Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.
2. Penambahan Nilai Panjang Pesan 
  • Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula.
  •  Jika panjang pesan > 264 maka yang diambil adalah panjangnya dalam modulo 264. Dengan kata lain, jika panjang pesan semula adalah K bit, maka 64 bit yang ditambahkan menyatakan K modulo 264. 
  • Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi kelipatan 512 bit. 
3. Inisialisai Penyangga MD 
  • MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing      panjangnya 32 bit. Total panjangpenyangga adalah 4 ´ 32 = 128 bit.
  • Keempat penyangga ini menampung hasil antara dan hasil akhir.Keempat penyangga ini diberi nama A, B, C, dan D. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut :
A = 01234567
B = 89ABCDEF
C = FEDCBA98
D = 76543210

4. Pengolahan Pesan dalam Blok Berukuran 512 bit
  • Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit (Y0 sampai YL – 1). 
  •  Setiap blok 512-bit diproses bersama dengan penyangga MD menjadi keluaran 128-bit, dan ini disebut proses HMD5.

Ferry NurdiantoDitulis Oleh : Ferry Nurdianto

Artikel Mengenal MD5 !., diterbitkan oleh Unknown pada hari 13 Desember 2011. Semoga artikel ini dapat menambah wawasan Anda. Oleh Admin, Sobat diperbolehkan mengcopy paste / menyebar luaskan artikel ini, namun anda harus meletakkan link dibawah ini sebagai sumbernya.

0 komentar:

Posting Komentar

Jika ada pertanyaan, saran, kritik dan masukan tentang Artikel di Blog ini, silahkan tinggalkan pesan di kotak komentar, secepatnya Admin Kami akan menanggapi. Tolong berkomentarlah dengan kata-kata yang baik, sopan dan jelas. Komentar, pesan yang berulang akan dianggap Spam, dan Kami akan menghapusnya. Terimakasih atas kunjungan Anda.