Fungsi hash memetakan data dengan ukuran berapa pun ke nilai berukuran tetap. Input yang sama selalu menghasilkan output yang sama. Ubah satu bit dan output akan berubah sepenuhnya. Sifat itulah yang membuat hash berguna untuk pemeriksaan integritas. Unduh sebuah file dan bandingkan hash-nya dengan nilai yang dipublikasikan. Jika cocok, file tersebut sampai dalam keadaan utuh. Jika tidak, ada sesuatu yang mengubahnya.
Fungsi hash bersifat satu arah. Anda tidak dapat menelusuri kembali dari hash ke data asli. Hal ini membuatnya berguna untuk penyimpanan kata sandi. Sistem menyimpan hash dari kata sandi, bukan kata sandi itu sendiri. Saat Anda masuk, sistem akan melakukan hashing pada apa yang Anda ketik dan membandingkannya dengan hash yang tersimpan. Jika basis data bocor, penyerang akan mendapatkan hash, bukan kata sandi. Kata sandi yang lemah masih dapat diretas dengan tabel pelangi atau serangan brute force, itulah mengapa penambahan salt penting. Salt adalah data acak yang ditambahkan ke setiap kata sandi sebelum di-hash, sehingga kata sandi yang identik menghasilkan hash yang berbeda. SHA-256 dan SHA-3 adalah hash kriptografi yang umum. MD5 dan SHA-1 telah dibobol dan tidak boleh digunakan untuk keamanan. Fungsi hash juga mendukung blockchain, tanda tangan digital, dan deduplikasi file.
Properti fungsi hash
- Deterministik — input yang sama, output yang sama
- Cepat — cepat dalam perhitungan
- Tahan terhadap citra awal — tidak dapat dibalikkan
- Tahan terhadap benturan — sulit menemukan dua input dengan hash yang sama
Hash adalah sidik jari, bukan enkripsi. Hash membuktikan integritas. Hash tidak menyembunyikan data.
Comments
No comments yet. Be the first to share a thought.
Leave a comment