Fungsi Hash

Kamis, 12 Mei 2011
Fungsi Hash merupakan fungsi yang menerima masukan string yang panjangnya sembarang kemudian mentansformasikannya menjadi string keluaran yang panjangnya tetap (fixed) dan umumnya berukuran jauh lebih kecil daripada ukuran string semula. Di samping ini merupakan skema fungsi hash di mana ukuran dari masukan sembarang, namun menghasilkan output yang ukurannya tetap.

Persamaan fungsi hash :

h = H(M)
M = pesan ukuran sembarang
h = nilai hash atau pesan singkat (message digest)
h <<<< M

Fungsi Hash juga memiliki nama-nama lain seperti :

  • Fungsi kompresi (compression function);
  • Cetak-jari (fingerprint);
  • Cryptographic checksum;
  • Message Integrity Check (MIC);
  • Manipulation Detection Code (MDC).

Penggunaan fungsi hash sangat mudah dijumpai, sebagai contoh adalah pencocokan kunci antara client dan server. Sistem akan membandingkan nilai hash kunci yang dimasukkan pengguna dengan nilai hash yang tersimpan pada server. Jadi, informasi yang dipertukarkan tidak berupa pesan asli.

Pada fungsi hash terdapat istilah fungsi hash satu arah (one way function) yang merupakan fungsi hash yang bekerja dalam satu arah. Artinya pesan yang sudah diubah menjadi message digest tidak dapat dikembalikan lagi menjadi pesan semula (irreversible). Ada pun sifat-sifat dari fungsi hash satu arah, yaitu :
1. Fungsi H dapat diterapkan pada blok data berukuran berapa saja.
2. H menghasilkan nilai (h) dengan panjang tetap (fixed length output).
3. H(x) mudah dihitung untuk setiap nilai x yang diberikan.
4. Untuk setiap h yang dihasilkan, tidak mungkin dikembalikan nilai x sedemikian sehingga H(x)=h. Itulah sebabnya fungsi H dikatakan fungsi hash satu arah(one way hash function).
5. Untuk setiap x yang diberikan, tidak mungkin mencari y tidak sama dengan x sedemikian sehingga H(y)=H(x).
6. Tidak mungkin mencari pasangan x dan y sedemikian sehingga H(x)=H(y).

Ada pun beberapa fungsi hash satu arah yang pernah dibuat, antara lain :
  • MD2(Message Digest2), MD4(Message Digest4), MD5(Message Digest5);
  • Secure Hash Function (SHA);
  • Snefru;
  • N-has;
  • RIPE-MD, dan lain sebagainya.

Ada pun manfaat dari fungsi hash satu arah, antara lain :

1. Menjaga integritas data
Fungsi hash sangat peka terhadap perubahan 1 bit pada pesan. Pesan berubah 1 bit maka nilai hash berubah sangat signifikan.
2. Menghemat waktu pengiriman
Misalnya untuk memverifikasi sebuah salinan arsip dengan arsip asli. Di sini salinan dokumen berada di tempat yang jauh dari basis data arsip asli. Daripada mengirim salinan arsip tersebut secara keseluruhan ke komputer pusat (yang membutuhkan waktu transmisi lama), lebih baik mengirimkan message digestnya. Jika message digest salinan arsip sama dengan message digest arsip asli, berarti salinan arsip tersebut sama dengan arsip master.
3. Menormalkan panjang data yang beraneka ragam
Misalnya password yang panjangnya bebas (minimal 8 karakter). kemudian password disimpan di komputer host (server) untuk keperluan otentikasi pemakai komputer. Untuk menyeragamkan panjang field password di dalam basis data, password disimpan dalam bentuk nilai hash (panjang nilai hash tetap).

0 komentar:

Posting Komentar