Hasing
merupakan teknik mengubah kata (plaintext)
menjadi sebuah bentuk lain dengan cara mengkombinasikan beberapa kata
berdasarkan dari algoritma yg digunakan. Sedangkan
fungsi Hash merupakan algoritma yang mengubah teks atau pesan (text or message)
menjadi sederetan karakter acak yang memiliki karakter yang sama.
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. Beberapa teknik yg paling sering digunakakan adalah:
MD5, SHA1 dll.
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”.Namun, hashing sedikit berbeda dengan
proses kriptografi yang memiliki fungsi enkripsi dan dekripsi. Hashing hanya
punya fungsi “mirip enkripsi” saja tanpa adanya fungsi dekripsi disana. Untuk
membuka atau membalikkan fungsi hash tidak diperlukan kunci (karena memang
tidak bisa), tetapi bisa menyamakan kembali hasil hashing yg baru dengan hasil hashing yang tersimpan didatabase misalnya.
Fungsi hash haruslah stabil (referential transparent), artinya, jika
ia dipanggil dua kali oleh masukan yang benar-benar sama(sebagai misal,string
yang mengandung sekuen karakter yang sama), maka ia haruslah memberi hasil yang
sama pula.
Hasil dari hashing pasti sama dengan kata
yang dibuat sebelumnya. (dengan algoritma yg sama). Sebagai contoh, misalnya: Hashing kata “Jumlah penduduk kota
Semarang ada 250.583 jiwa” akan menjadi : “1e7f30ee4360d0fada10f400c1e5“. Kapanpun dan siapapun yang
melakukan fungsi hashing dengan algoritma yang sama, ya hasilnya sama juga.
Fungsi hash sering pula disebut
dengan Compression Function, Fingerprint, Cryptographic Cheksum, Message Integrity
Check, dan Manipulation Detection Code.
Beberapa fungsi hash dapat memetakan
dua atau lebih text ke nilai hash yang sama. Misalnya, kalimat “Jumlah penduduk kota Semarang
ada 250.583 jiwa” mempunyai nilai hashing “1e7f30ee4360d0fada10f400c1e5“. Bisa jadi kalimat “Buku ini
berwarna biru kehijauan” juga mempunyai nilai hashing “1e7f30ee4360d0fada10f400c1e5“
Fungsi hash dapat digunakan untuk
Menyimpan Password, sebagai Penguji Keutuhan Pesan, dan sebagai Message
Fingerprint.
Penguji Keutuhan Pesan. Hashing
sangat peka dengan perubahan data sehingga sangat pas jika digunakan sebagai
penjaga integritas data. Misal, kalimat “Jumlah
penduduk kota Semarang ada 250.583 jiwa” mempunyai nilai hashing “1e7f30ee4360d0fada10f400c1e5“. Jika angka
“3“ diganti “4” maka nilai hashing bisa sangat berbeda, misal “a538bcf001ff207fddac974feac8“
Message Fingerprint. Misalkan
untuk memverifikasi sebuah salinan arsip dengan arsip asli. Salinan dokumen
berada di tempat yang jauh dari basis data arsip asli. Daripada 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.
Menyimpan Password. 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).
Persamaan Fungsi Hash : nh = H(m)
Dimana:
m=pesan ukuran sembarang
H = Fungsi Hash
nh = nilai hash
Berapapun panjang pesan (m), panjang nilai hash (nh) tetap, misalnya 128 mb.
m=pesan ukuran sembarang
H = Fungsi Hash
nh = nilai hash
Berapapun panjang pesan (m), panjang nilai hash (nh) tetap, misalnya 128 mb.
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
Referensi : Beberapa laman di
internet.
No comments:
Post a Comment
Silakan berkomentar ....