E N D
Pengertian dasar dari hashing • Secara gampang dan awam adalah kegiatan meringkas. Dalam konteks pengindek teks, hashing merupakan pengubahan serangkaian karakter menjadi nilai atau kode yang menjadi “wakil” dari rangkaian karakter tersebut. Dengan kegiatan meringkas inilah, maka tercipta wakil-wakil yang kita sebut sebagai indeks untuk digunakan dalam temu-kembali informasi atau information retrieval . Berbeda dengan kegiatan membuat indeks yang dilakukan secara hastawi (manual) oleh manusia, kegiatan hashing dilakukan oleh mesin komputer berdasarkan program. Rinaldi Munir/Teknik Informatika STEI-ITB
Contoh hash • Sebagai contoh, mari kita perhatikan sebuah pangkalan data yang menyimpan informasi tentang mahasiswa. Nama mereka diurut menurut abjad, katakanlah ada empat nama yang diurut menurut nama belakang (nama keluarga): • Abimanyu, Sarah • Endrawan, Rudi • Malik, Wandi • Sutrisno, Dadi Rinaldi Munir/Teknik Informatika STEI-ITB
Masing-masing nama di atas merupakan semacam kata-kunci untuk informasi tentang kegiatan dan kinerja mereka sebagai mahasiswa. Jika seseorang ingin mengambil data dari salah satu mahasiswa, maka biasanya ada mekanisme bagi komputer untuk menelusur satu persatu (karakter demi karakter) nama-nama tersebut sampai akhirnya bertemu dengan nama yang dicari. Ini akan memakan waktu, terutama jika jumlah nama yang harus ditelusur sangat banyak. Tetapi, kalau setiap nama mengalami hashing, maka dapat dibuat sebuah kode bagi setiap nama itu. Misalnya, dibuat kode 4 angka, sehingga: • 7864 Abimanyu, Sarah • 9802 Endrawan, Rudi • 1990 Malik, Wandi • 8822 Sutrisno, Dadi Rinaldi Munir/Teknik Informatika STEI-ITB
Manfaat dari hash • hashing Algoritme ini juga dapat dimanfaatkan untuk pembuatan tandatangan digital (digital signatures) dan proses autentifikasi dalam manajemen identifikasi digital. Rinaldi Munir/Teknik Informatika STEI-ITB
Fungsi Hash Bahan Kuliah IF3058 Kriptografi Rinaldi Munir/Teknik Informatika STEI-ITB
Pendahuluan • Fungsihash: fungsi yang - menerimamasukanstring yang panjangnyasembarang, - lalumentransformasikannyamenjadistringkeluaran yang panjangnyatetap (fixed) (umumnyaberukuranjauhlebihkecildaripadaukuranstringsemula). Rinaldi Munir/Teknik Informatika STEI-ITB
Persamaanfungsihash: h = H(M) M = pesankuransembarang h = nilaihashataupesan-ringkas (message-digest) h <<<< M • Contoh: size(M) = 1 MB size(h) = 128 bit !!!! • Nama lain fungsihashadalah: - fungsikompresi (compression function) - cetak-jari (fingerprint) - cryptographic checksum - message integrity check (MIC) - manipulation detection code (MDC) Rinaldi Munir/Teknik Informatika STEI-ITB
Fungsi Hash Satu-Arah • Fungsi hash satu-arah (one-way function): – fungsi hash yang bekerja dalam satu arah. – satu arah: pesan yang sudah diubah menjadi message digest tidak dapat dikembalikan lagi menjadi pesan semula (irreversible). Rinaldi Munir/Teknik Informatika STEI-ITB
Sifat-sifatfungsihashsatu-arahadalahsebagaiberikut: • FungsiHdapatditerapkanpadablok data berukuranberapasaja. • Hmenghasilkannilai (h) denganpanjangtetap (fixed-length output). • H(x) mudahdihitunguntuksetiapnilaix yang diberikan. • Untuksetiaph yang dihasilkan, tidakmungkindikembalikannilaixsedemikiansehinggaH(x) = h. ItulahsebabnyafungsiHdikatakanfungsihashsatu-arah (one-way hash function). • Untuksetiapx yang diberikan, tidakmungkinmencariyxsedemikiansehinggaH(y) = H(x). • TidakmungkinmencaripasanganxdanysedemikiansehinggaH(x) = H(y). Rinaldi Munir/Teknik Informatika STEI-ITB
Ada beberapa fungsi hash satu-arah yang sudah dibuat orang, antara lain: - MD2, MD4, MD5, - Secure Hash Function (SHA), - Snefru, - N-hash, - RIPE-MD, dan lain-lain • (Catatan: MD adalah singkatan dari Message Digest). Rinaldi Munir/Teknik Informatika STEI-ITB
Aplikasi Fungsi Hash Satu-Arah • Menjagaintegritas data - Fungsihashsangatpekaterhadapperubahan 1 bit padapesan - Pesanberubah 1 bit, nilaihashberubahsangatsignifikan. - Bandingkannilaihashbarudengannilaihash lama. Jikasama, pesanmasihasli. Jikatidaksama, pesansudahdimodifikasi Rinaldi Munir/Teknik Informatika STEI-ITB
Contoh: (i) Pesan (berupa file) asli Rinaldi Munir/Teknik Informatika STEI-ITB
(ii) Misal 33 diubah menjadi 32 Rinaldi Munir/Teknik Informatika STEI-ITB
Program yang di-downlaod dari internet sering dilengkapi dengan nilai hash untuk menjamin integritas file. Rinaldi Munir/Teknik Informatika STEI-ITB
Menghemat waktu pengiriman. - Misal untuk memverifikasi sebuah salinan arsip dengan arsip asli. - Salinan dokumen berada di tempat yang jauh dari basisdata arsip asli - Ketimbang mengirim salinan arsip tersebut secara keseluruhan ke komputer pusat (yang membutuhkan waktu transmisi lama), lebih mangkus mengirimkan message digest-nya. - Jika message digest salinan arsip sama dengan message digest arsip asli, berarti salinan arsip tersebut sama dengan arsip master. Rinaldi Munir/Teknik Informatika STEI-ITB
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). Rinaldi Munir/Teknik Informatika STEI-ITB