Memahami Cryptographic Hash Function

Pada modul ini kita akan membahas cryptographi hash function secara permukaannya saja. Karena untuk memahami hash secara mendalam, adalah topik matematika.

Tujuan dari hash function adalah, apapun ukuran data input, akan menghasilkan ukuran output data yang fix. Output tersebut disebut hash. Dan setiap hash harus unik.

Fungsi Hash juga harus mampu menghasilkan hash yang sama, jika diberi input yang sama. Dan akan menghasilkan hash yang jauh berbeda, jika diberi input yang mirip. Hal ini untuk mencegah proses decrypting.

Berikut properties yang wajib dimiliki hash function:

  • Deterministic, input yang sama akan menghasilkan output yang sama.
  • Fast, cepat dalam melakukan hashing. Hashing 1 Byte vs 1 GigaByte tidak ada perbedaan waktu yang significant.
  • Ireversible, hasil hashing tidak bisa dikembalikan menjadi data input.
  • Perbedaan kecil dari input data, akan menghasilkan hash yang sangat berbeda.
  • Hasil hash Unik. Tidak ada 2 input data yang akan menghasilkan hash yang sama.

Aplikasi dari hash function

Untuk verifikasi integritas data, contoh biasanya saat download suatu file di internet, penyedia file akan memberikan nilai hash mereka, kita bisa bandingkan dengan menghitung hash dari file yang didownload dengan hash dari penyedia file untuk memastikan file yang sama yang kita download.

Penyimpanan password dalam bentuk hash, jika sampai database di hack, data yang dicuri adalah password dalam bentuk hash, tidak bisa digunakan oleh pencuri data.

Pada konsensus Proof of Work, dengan hashing, partisipan sulit untuk mencari hash valid block, tetapi mudah untuk melakukan verifikasi.

Sharing is caring:

Leave a Comment