FUNGSI HASH
Oleh : Fitria Sekarwulan Risdhafany
1. Pendahuluan
Fungsi hash atau one-way hash function adalah one-way function namun juga memiliki karakteristik kompresi. Fungsi hash juga dikenal dengan sebutan fungsi satu arah, karena untuk menghitung suatu nilai hash dari suatu relatif mudah, namun sulit untuk menentukan/menghitung nilai preimage dengan mengetahui nilai hash dari suatu fungsi hash. Fungsi hash disebut juga fungsi kompresi, fungsi kontraksi, message digest, cryptography checksum, digital fingerprint, atau manipulation detecting code. Fungsi ini dibutuhkan ketika kita menginginkan sidik jari dari suatu pesan, untuk dapat membuktikan atau menjaga keutuhan atau keaslian suatu informasi.
Berikut ini beberapa definisi fungsi hash menurut beberapa ahli, antara lain :
1) adalah suatu fungsi h yang memenuhi One-way hash function beberapa kondisi berikut :
a) Fungsi tersebut mengambil input M dengan panjang tertentu dan menghasilkan output atau nilai hash h(M) dengan panjang yang tetap sepanjang n bit.
b) Dengan mengetahui algoritma hash h dan suatu input M, perhitungan dari h(M) haruslah ‘mudah’.
c) Fungsi tersebut harus one-way, dengan mengetahui nilai y yang merupakan image dari h, sulit untuk mencari suatu pesan M sedemikian sehingga h(M) = y , dan dengan mengetahui M dan h(M) akan sulit untuk mencari suatu nilai M’, dimana M≠ M’ sedemikian sehingga h(M) = h(M’).
2) Misalkan l, n adalah bilangan integer positif, suatu fungsi hash h dengan panjang output n-bit dan l-bit kunci merupakan suatu fungsi deterministis yang mengambil dua input, input yang pertama adalah pesan dengan panjang tertentu, dan input yang kedua adalah kunci atau konstanta dengan panjang l-bit, dan menghasilkan output berupa binary string dengan panjang n-bit. Secara formal didefinisikan :
H : {0,1}* x {0,1}l → {0,1}n
3) Fungsi hash adalah fungsi yang memetakan suatu pesan dengan panjang tertentu ke suatu nilai hash dengan panjang yang tetap yang berperan sebagai otentikator.
4) Fungsi hash yang ideal adalah suatu pemetaan yang acak dari semua kemungkinan nilai input terhadap sehimpunan nilai output yang mungkin.
5) Fungsi hash adalah suatu fungsi h yang memiliki minimal dua persyaratan berikut :
a) Bersifat kompresi, fungsi h memetakan sebuah input dengan panjang bit tertentu yang hingga, kepada sebuah output dengan panjang bit tetap.
b) Mudah perhitungannya, dengan diberikan h dan sebuah input x, nilai h(x) mudah dihitung.
2. Karakteristik Fungsi Hash
Dari beberapa definisi diatas dapat ditarik kesimpulan mengenai beberapa
karakteristik fungsi hash, antara lain:
• Fungsi hash dapat diimplementasikan untuk input data berapapun panjangnya;
• Fungsi hash menghasilkan output dengan ukuran/ panjang yang tetap;
• Untuk semua nilai input x, y = f(x) mudah untuk dihitung. Dengan kata lain terdapat polynomial time algorithm untuk menghitung y = f(x) dengan mengetahui nilai x.
• Untuk semua nilai y yang berada pada daerah hasil f, dengan mengetahui nilai y , akan sulit untuk mengetahui nilai x. Dengan kata lain dibutuhkan suatu super polynomial time algorithm untuk menyelesaikan permasalahan tersebut.
• Untuk suatu nilai x, secara komputasi sulit untuk mencari x’≠ x, dimana f(x’) = f(x), bila hal ini terjadi maka kasus ini disebut bentrokan (collision).
• Secara komputasi sulit untuk mencari pasangan ( x’, x) dimana x’≠ x dan f(x’) = f(x).
3. Kriteria Resistensi Fungsi Hash
Berdasarkan karakteristik-karakteristik diatas terdapat tiga kriteria resistansi fungsi hash. Kriteria resistansi bagi fungsi hash tersebut antara lain :
1) Preimage resistance, untuk semua kemungkinan output, secara komputasi tidak mungkin untuk mencari suatu input yang memiliki nilai hash tersebut, dengan kata lain untuk mencari suatu preimage x’ sedemikian hingga h(x’) = y, untuk nilai y yang diberikan yang berhubungan dengan nilai input tertentu tidak dapat diketahui.
2) Second-preimage resistance, secara komputasi tidak mungkin untuk mencari input lain yang memiliki output yang sama dengan suatu input tertentu, dengan kata lain jika diberikan suatu nilai x, tidak mungkin mencari second pre image x’≠ x sedemikian hingga h(x) = h(x’).
3) Collision resistance, secara komputasional tidak mungkin untuk mencari dua input yang berbeda x, x’ yang memiliki nilai hash yang sama, sedemikian sehingga h(x) = h(x’).
Untuk penjelasan selanjutnya tunggu di lain waktu.. =)
Februari 14, 2008 pukul 10:08 am |
bentuk persamaan fungsi hash sendiri seperti apa??[fungsi kompleks,fs.polinomial,fs.linear.fs.rasional]
Februari 20, 2008 pukul 9:39 am |
maaf baru balas..
wah maaf ya,,
sebenarnya saya belum dapat materi ttg ini lebih mendalam..
karena saya baru semester 3 jadi baru dikenalkan saja..
mungkin semester depan saya baru mendapatkan materi ini..
tapi nanti saya usahakan cari lebih dalam..
April 22, 2008 pukul 8:13 am |
assalamu’alaikum….
Fit, koq nama2 sumbernya (referensi/nama pakarnya) gak dicantumin sih?????
Mei 14, 2008 pukul 3:13 pm |
oh iya… nanti yan kalo udah lengkap.. ^_^
Oktober 30, 2009 pukul 8:50 pm |
tolong dong….dimuatkan skripsi tentang fungsi hash dong…
yaya plizzz