Breaking

Rabu, 20 Juni 2018

Hashing



 
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.

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.

Tidak ada komentar:

Posting Komentar

close