Hashing SHA-256 & MD5
Hashing adalah proses matematis yang digunakan untuk mengonversi data input menjadi nilai hash, yang merupakan serangkaian karakter atau angka yang unik yang mewakili data tersebut. Algoritma hashing mengambil input data yang bisa berupa pesan, file, atau teks, dan menghasilkan nilai hash yang khas untuk data tersebut. Nilai hash ini biasanya memiliki panjang tetap, meskipun panjangnya bisa berbeda tergantung pada algoritma yang digunakan.
Fungsi utama dari hashing adalah untuk menciptakan sebuah tanda atau penanda unik yang dapat digunakan untuk memverifikasi integritas data, mengidentifikasi data, atau menyimpan informasi rahasia seperti kata sandi. Karakteristik penting dari nilai hash adalah bahwa ia seharusnya sangat sulit untuk menghasilkan dua input yang berbeda tetapi menghasilkan nilai hash yang sama (kolisi). Jadi jika pernah mendengar istilah "titip omongan bisa lebih, titip uang bisa kurang" nah dalam dunia digital itu bisa diatasi dengan implementasi fungsi fungsi hashing ini, jadi jika si A mau kirim produck digital kepada si B, untuk memastikan si B akan mendapatkan product yang original dan berintegritas, maka si A bisa lampirkan nilai hassil hashingnya kepada si B, jadi si B bisa cocokin nilai hash dari product yang dikirimkan oleh si A, dengan yang ia terima, jika terjadi ketidak cocokan, itu artinya integritas product yang diterima "diragukan"
Kasus yang baru implementasi hashing pada dunia nyata yaitu ketika sidang sengketa hasil pilpres indonesia 2024, dalam perjalanan sidang tersebut, ada event dimana salah satu kelompok meragukan bahwa gambar c1 yang diunggah diweb pemilu KPU itu diragukan, karena tidak adanya metadata. Nah setelah di konfrontir oleh salah satu tim develop dari web pemilu KPU (tim dari ITB), ternyata metadatanya itu sudah disertakan pada gambar c1 nya, yaitu salah satunya berupa nilai file hash yang menggunakan algoritma SHA-256, dengan begini, jika ada pembuktian, atau gambar c1 yang disangkakan bermasalah, maka dengan mudah seharusnya bisa dicocokan dengan nilai SHA-256 dari gambar c1 yang aslinya.
Dalam dunia komputasi, SHA-256 (Secure Hash Algorithm 256-bit) dan MD5 (Message Digest Algorithm 5) merupakan dua algoritma hashing yang umum digunakan. Kedua algoritma ini digunakan untuk menghasilkan nilai hash atau checksum dari data yang diberikan. Nilai hash adalah serangkaian karakter unik yang dihasilkan dari data input, yang digunakan untuk mengidentifikasi data tersebut. Namun, meskipun keduanya digunakan untuk tujuan yang serupa, SHA-256 dan MD5 memiliki perbedaan dalam keamanan dan kegunaannya. Dalam artikel ini, kita akan menjelajahi sejarah, fungsi, kelebihan, dan kelemahan dari kedua algoritma tersebut.
Sejarah
MD5 (Message Digest Algorithm 5): MD5 dikembangkan oleh Ronald Rivest pada tahun 1991. Ini adalah salah satu dari serangkaian algoritma MD yang dikembangkan oleh Rivest. MD5 awalnya dirancang untuk digunakan sebagai fungsi hash yang tidak dapat dibalik, yang dapat menghasilkan nilai hash unik untuk setiap pesan yang diberikan.
SHA-256 (Secure Hash Algorithm 256-bit): SHA-256 adalah bagian dari keluarga algoritma hashing Secure Hash Algorithm (SHA) yang dikembangkan oleh National Security Agency (NSA) Amerika Serikat. SHA-256, sebagaimana disarankan oleh namanya, menghasilkan nilai hash 256-bit. Algoritma ini pertama kali diterbitkan oleh National Institute of Standards and Technology (NIST) pada tahun 2001 sebagai bagian dari standar Federal Information Processing Standard (FIPS).
Fungsi, Kelebihan, dan Kelemahan
MD5:
(=)Fungsi: MD5 digunakan secara luas dalam berbagai aplikasi, termasuk untuk memverifikasi integritas data dan menyimpan kata sandi dalam format hash.
(+)Kelebihan: MD5 adalah algoritma yang cepat dan mudah digunakan. Ini menghasilkan nilai hash dengan panjang tetap (128-bit).
(--)Kelemahan: Keamanan MD5 telah dipertanyakan karena kerentanannya terhadap serangan kolisi. Sebuah kolisi terjadi ketika dua input menghasilkan nilai hash yang sama, yang berpotensi membahayakan keamanan data.
SHA-256:
(=)Fungsi: SHA-256 juga digunakan untuk tujuan serupa seperti MD5, termasuk verifikasi integritas data, otentikasi pesan, dan menyimpan kata sandi dalam format hash.
(+)Kelebihan: SHA-256 lebih aman daripada MD5 karena memiliki panjang hash yang lebih besar (256-bit) dan menghasilkan nilai hash yang unik untuk setiap input.
(--)Kelemahan: Meskipun SHA-256 lebih aman daripada MD5, tidak ada algoritma hashing yang benar-benar imun terhadap serangan, dan kemungkinan adanya serangan kolisi pada algoritma ini juga tetap ada.
Dalam dunia komputasi modern, pemilihan algoritma hashing sangat penting untuk keamanan data. Meskipun MD5 dan SHA-256 sama-sama digunakan secara luas, SHA-256 biasanya lebih disarankan karena tingkat keamanannya yang lebih tinggi. Namun, penting untuk memahami bahwa keamanan data tidak hanya bergantung pada pemilihan algoritma hashing, tetapi juga pada implementasi dan penggunaannya secara menyeluruh dalam sistem. Oleh karena itu, pemilihan yang tepat dari algoritma hashing haruslah disesuaikan dengan kebutuhan spesifik dan tingkat keamanan yang diinginkan.
Jika anda ingin mencoba cek nilai hashing SHA-256 & MD5 dengan contoh file anda bisa gunakan link ini ya
Comments