jump to navigation

Fungsi Hash Juni 13, 2008

Posted by cryptobounce in Kriptografi.
Tags:
trackback

Fungsi Hash merupakan sebuah fungsi yang memetakan input dengan panjang bit yang bervariasi (arbitrary length) menjadi output dengan panjang tetap (fixed length). Istilah hash function berasal dari ilmu komputer (computer science), yang berarti sebuah fungsi yang digunakan untuk mengkompress suatu string yang memiliki panjang bervariasi menjadi string dengan panjang tetap. Hash function digunakan untuk mengurangi memory yang dibutuhkan untuk menyimpan suatu file.
Di dalam kriptografi, fungsi hash dibedakan menjadi dua macam, yaitu fungsi hash yang menggunakan kunci (keyed hash function) dan fungsi hash yang tidak menggunakan kunci (unkeyed hash function). Penggunaan fungsi hash di dalam kriptografi digunakan untuk otentikasi data dan menjamin keutuhan data (data integrity)
Mengapa bisa begitu??
Ketika suatu message dikirimkan melalui suatu jalur komunikasi, maka terdapat berbagai kemungkinan yang menyebabkan message tersebut rusak ataupun berubah ketika sampai ke penerima. Hal ini dapat dicegah dengan mengikutsertakan/melampirkan hasil nilai hash (hash value) pada message yang kita kirimkan. Ketika message tersebut sampai ke pengirim, dia dapat menghitung nilai hash dari message yang diterimanya dan membandingkan dengan nilai hash yang telah dilampirkan oleh pengirim pada message tersebut. Jika hasil hashnya bernilai sama, maka message yang diterima oleh si penerima merupakan message yang benar. Namun, sebaliknya, jika nilai hashnya tidak sama, maka message yang diterima oleh si penerima bukan message yang sebenarnya. Artinya, ada kemungkinan message tersebut berubah selama transmisi ataupun karena ada “seseorang” yang sengaja mengubah pesan tersebut…;-)
Membuat/mendesain suatu fungsi hash tidaklah mudah. Terdapat beberapa hal yang perlu diperhatikan dalam mendesain fungsi hash, supaya fungsi hash yang dihasilkan bisa dikategorikan aman secara kriptografi. Persyaratannya adalah sebagai berikut:

  • H dapat digunakan untuk blok data dengan ukuran yang bervariasi;
  • H menghasilkan output dengan panjang yang tetap;
  • H(x) mudah dihitung jika diberikan sembarang nilai x, dan H(x) mudah diimplementasikan pada software dan hardware;
  • Jika diberikan nilai h, maka secara perhitungan tidak mungkin untuk mendapatkan x sehingga H(x)=h. Di dalam beberapa literatur, sifat ini disebut “one way property
  • Jika diberikan x, maka secara perhitungan tidak mungkin untuk mendapatkan y?x dimana H(y)=H(x). Sifat ini disebut “weak collisiion resistant
  • Secara prhitungan tidak mungkin untuk mendapatkan pasangan x,y sehingga H(x)=H(y). Sifat ini disebut “strong collision resistant“.

Keterangan:

H(x)=h

H = jenis fungsi hash

x = data yang menjadi input fungsi hash

h = nilai hash (hash value)

Contoh hash function adalah sebagai berikut:
SHA-1
MD-5
MAC (Message Authentication Code), yang merupakan keyed hash function.
Dll….:-)

Mau tau contoh konkrit dari fungsi hash??? baca dech artikel selanjutnya…..;-)

Komentar»

No comments yet — be the first.