Fungsi Hash -> Updated wanna be.. ^_^
Akhirnyaaaaa,,,,
sebelum saya curhat-gak-penting-panjang-lebar,, saya lanjutin dulu ya tentang fungsi hash-nya.. (daripada ntar di khotbahin sama si abang..
)
Sampe mana terakhir? Oh, baru karakterisitik fungsi hash ya..
Sebelum saya lanjut, saya mau cerita dulu tentang penggunaan fungsi hash ini. Fungsi hash biasanya digunakan barengan sama digital signature. Umumnya, sebelum di sign, sebuah pesan direpresentasikan dalam nilai hashnya, nah, si nilai hashnya ini yang kemudian di-sign. Pada penggunaan yang ini, fungsi hash ini berfungsi untuk menjamin keutuhan data. Pada penggunaan lainnya, fungsi hash juga bisa digunakan untuk menyimpan password. Jadi, password disimpan dalam database dalam bentuk nilai hashnya. Tujuannya, untuk mencegah password bocor kalo2 databasenya bocor. (ngerti tak?
)
Oke, lanjut..
Nah, dari karakteristik yang udah saya jelaskan pada postingan sebelumnya, yang tiga terakhir jadi permasalahan utama yang jadi perhatian pada fungsi hash, dalam bentuk umum:
- Preimage resistance : Jika diketahui sembarang nilai hash H(x), tidak mungkin mencari x1, x2, x3,…, xk , sedemikian hingga H(x1) = H(x2) = H(x3) = … = H(xk)
- Second Preimage resistance: Jika diketahui sembarang nilai y, tidak mungkin mencari x1, x2, x3,…, xk , sedemikian hingga H(y) = H(x1) = H(x2) = H(x3) = … = H(xk)
- collision resistance: Tidak mungkin mencari nilai-nilai x1, x2, x3,…, xk, sedemikian hingga H(x1) = H(x2) = H(x3) = … = H(xk)
Jika ketiga permasalahan tersebut dapat diselesaikan, maka fungsi hash sudah terpecahan, a.k.a dianggap tidak aman lagi.
Kenapa? Coba baca lagi contoh penggunaan fungsi hash. Bisa disimpulkan bahwa nilai hash yang dihasilkan untuk suatu pesan/data berarti harus bersifat unik. Nah, kalau ketiga karakter di atas bisa diselesaikan, bubar. Berarti udah gak memenuhi keunikan tadi. Akibatnya, bisa aja ada pemalsuan. (nuril,, bingung..)
Itu berarti, serangan pada fungsi hash itu ya menyelesaikan tiga permasalahan di atas, a.k.a menemukan collision, bahwa ada dua nilai berbeda yang memiliki nilai hash yang sama. Tekniknya ada beragam, mulai dari yang tergantung pada algoritma fungsi hashnya (berarti menggunakan pendekatan matematik) sampe yang bisa digunakan pada algor macam apapun (biasanya basis brute force attack *apaan lagi tuh ril*).
Hahahaha… Saya lanjut ah,, klo gak ngerti, tanya aja..
Secara umum, ada dua jenis fungsi hash, yang gak pake kunci (MDC) dan yang pake kunci (MAC)
Bedanya? Karena MAC pake kunci, dia gak hanya menjamin keutuhan data, tapi juga sumber/pengirim pesan/data.
Sampe sekarang, fungsi hash udah ada banyak,, dan ada banyak juga penerapannya. Update, sekarang masih berlangsung kontes SHA-3 nih. Jadi, fungsi hash makin banyak dan makin berkembang aja (termasuk penerapannya). Kalo mau tau lebih banyak lagi, baca2 buku (termasuk e-book) tentang kriptografi atau googling bisa jadi solusi yang lebih memuaskan.
Nah,,sampe sini aja ya penjelasan singkat saya tentang fungsi hash. Yang penting tujuan mengenalkannya udah tercapai.
Kalo ada yang mau tanya2,, sok ajah,, kalo saya tau jawabannya, insyaAllah saya jawab. Kalo saya gak jawab, bisa berarti saya gak tau jawabannya, gak sempet jawab (lagi-lagii sok sibuk), lagi males (sok penting), atau lagi gak koneksi inet.. Hehehe..
Nb: Alhamdulillah selesai.. Nulis ginian aja 3 bulan lebih, termasuk proses niat.. Hahaha.. Pemalas..
-pojok kelas, 14 Jan 2010, 10:54-
mas mau tanya nih,,,
MD5 kan ada proses penambahan 64 bit, yang menyatakan panjang pesan semula, supaya menjadi kelipatan 512,, nah 64 bit itu yang saya tidak mengerti ..bisa tolong dijelaskan,,,mohon bantuannya.,,,,