Fungsi Hash dalam Algoritma Kriptografi

Fungsi Hash merupakan algoritma yang mengubah teks atau pesan (text or message) menjadi sederetan karakter acak yang memiliki karakter yang sama.

Hash juga termasuk salah satu bentuk teknik kriptografi tanpa menggunakan kunci (unkeyed cryptosystem). Selain itu hash memiliki nama lain yang juga dikenal yaitu “one-way function”.

Fungsi Hash adalah fungsi yang menerima masukan string yang panjangnya sembarang selanjutnya mentransformasikannya menjadi string keluaran yang panjangnya tetap (fixed) yang biasanya berukuran jauh lebih kecil daripada ukuran string semula.

Menurut Kaufman et. al. (2002), Fungsi hash dapat digunakan sebagai:
(1) Menyimpan Password, (2) Sebagai Message Integrity, (3) Sebagai Message Fingerprint

Pengujian Keutuhan Pesan

Persamaan Fungsi Hash

h = H(m)

Keterangan:
M = pesan ukuran sembarang
H = Fungsi Hash
h = nilai hash atau pesan ringkas (message-digest)
h<<<M

Contoh: size(M) = 1 MB –> size(h) = 128 bit !!!

Nama lain fungsi hash adalah:

  • – fungsi kompresi (compression function)
  • – cetak-jari (fingerprint)
  • – cryptographic cheksum
  • – message integrity check (MIC)
  • – manipulation detection code (MDC)

Fungsi Hash Satu-Arah

Fungsi hash satu-arah (one-way function) adalah fungsi hash yang bekerja dalam satu arah. Satu arah pesan yang diubah menjadi message digest tidak dapat dikembalikan lagi menjadi pesan semula (irreversible).

Masukan fungsi hash adalah blok pesan (M) dan keluaran dari hashing blok pesan sebelumnya,

hi = H(Mi, hi-1)

skema fungsi hash ditunjukkan pada gambar berikut ini,

Beberapa contoh algoritma kriptografi dengan menggunakan kunci fungsi hash, antara lain:

  • – MD2, MD4, MD5,
  • – secure Hash Function (SHA),
  • – Snefru,
  • – N-hash,
  • – RIPE-MD, dan lain-lain

Catatan: (MD singkatan dari Message Digest)

Spesifikasi beberapa fungsi hash:

Layanan yang diberikan Fungsi Hash:

1. Menjaga Integritas Data.
Dengan fungsi hash sangat peka terhadap perubahan 1 bit pada pesan, Pesan berubah 1 bit, nilai hash berubah sangat signifikan, Bandingkan nilai hash baru dengan nilai hash lama. Jika sama, pesan masih asli. Jika tidak sama, pesan sudah dimodifikasi.

2. Menghemat waktu pengiriman.
Misalkan untuk memverifikasi sebuah salinan arsip dengan arsip asli. Salinan dokumen berada di tempat yang jauh dari basis data arsip asli. Ketimbang mengirim data salinan arsip tersebut secara keseluruhan ke komputer pusat (yang membutuhkan waktu transmisi lama), lebih baik mengirimkan message digest-nya. 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.
Misalkan password panjangnya bebas (minimal 8 karakter). Password disimpan di komputer host (server) untuk keperluan otentikasi pemakai komputer. Password disimpan di dalam basisdata. Untuk menyeragamkan panjang field password di dalam basisdata, password disimpan dalam bentuk nilai hash (panjang nilai hash tetap).

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s