The Difficulty to Crack Modern Hashing Algorithm
Pendahuluan
Setiap akun yang dibuat di platform mana pun pasti membutuhkan sebuah password. Untuk menjaga keamanan password akun ketika disimpan dalam database, password tidak disimpan dalam bentuk aslinya, melainkan melalui proses hashing. Artikel ini akan membahas lebih lanjut mengenai hashing dan seberapa sulit algoritma hashing dapat dipecahkan.
Pengertian Hashing dan Perbedaan Dengan Enkripsi
Secara garis besar, hash adalah kode yang dihasilkan dari suatu pesan atau data menggunakan algoritma tertentu. Definisi hashing itu sendiri adalah proses mengubah serangkaian kata atau data menjadi sebuah kode alfanumerik yang memiliki panjang tetap melalui rumus matematika hash function. Karena kodenya unik, hash bisa disebut sebagai sidik jari digital. Hash bersifat satu arah (one-way function), artinya sebuah hash tidak dapat dikembalikan lagi ke bentuk aslinya.
Lalu, apa yang membedakan hashing dengan enkripsi?
Enkripsi itu sendiri adalah proses yang mengubah data dari teks biasa (plaintext) menjadi kode yang tidak bisa dibaca (ciphertext). Sekilas, fungsi enkripsi terdengar mirip dengan hashing. Namun, jika menemukan kunci yang sesuai, sebuah kode enkripsi dapat didekripsi, yaitu proses mengubah kembali ciphertext menjadi plaintext, hal ini menjadi perbedaan dengan hash karena enkripsi bersifat dua arah.
Peran Hashing dalam Cyber Security
Hashing memiliki beberapa peran penting dalam mekanisme cyber security, seperti :
- Penyimpanan Password yang Aman:
Sistem tidak menyimpan password dalam bentuk plaintext, melainkan dalam bentuk hash. Ketika pengguna login, sistem meng-hash input password dan membandingkannya dengan hash yang tersimpan. Pendekatan ini mengurangi risiko pencurian password jika database diretas. - Verifikasi Integritas Data:
Hashing digunakan untuk memastikan bahwa data tidak diubah selama transmisi. Dengan membandingkan nilai hash sebelum dan sesudah proses pengiriman, penerima dapat memverifikasi keutuhan data. - Tanda Tangan Digital dan Autentikasi:
Dalam penerapan tanda tangan digital, hash dari pesan dienkripsi dengan kunci privat untuk menghasilkan tanda tangan yang dapat diverifikasi oleh penerima, memastikan bahwa data tersebut tidak dimanipulasi. - Implementasi di Teknologi Blockchain:
Algoritma hashing seperti SHA-256 digunakan untuk mengamankan rantai blok data, memastikan bahwa setiap blok memiliki nilai hash yang unik dan saling terkait sehingga perubahan sekecil apapun pada blok sebelumnya akan terdeteksi.
Metode Hacker dalam Meretas Password yang Di Hash
Hashing sudah menyediakan lapisan keamanan yang kuat, di sisi lain para hacker terus mengembangkan pelbagai cara untuk mencoba memecahkan hash dan mendapatkan password asli. Berikut adalah beberapa metode yang digunakan:
- Brute Force Attack:
Metode ini melibatkan percobaan semua kombinasi karakter hingga ditemukan yang menghasilkan hash yang sama. Jika algoritma hashing yang digunakan memiliki kompleksitas rendah atau tidak dikombinasikan dengan salt, brute force bisa berhasil, meskipun memakan waktu yang lama. - Dictionary Attack:
Hacker menggunakan daftar kata-kata umum atau password yang sudah diketahui untuk menghasilkan hash dan kemudian mencocokkannya dengan hash yang disimpan. - Rainbow Table Attack:
Metode ini memanfaatkan tabel precomputed yang berisi pasangan nilai hash dan plaintext. Penggunaan salt pada proses hashing sangat efektif untuk mengurangi risiko serangan ini. - Collision Attack:
Mencari dua input yang berbeda yang menghasilkan hash yang sama. Meskipun algoritma modern telah dirancang untuk meminimalkan kemungkinan collision, serangan jenis ini tetap menjadi perhatian untuk algoritma hashing yang lebih tua.
Seberapa sulit algoritma hashing modern dipecahkan?
Tingkat kesulitan dalam memecahkan hashing sangat bergantung pada algoritma yang digunakan, panjang dan kompleksitas input, serta sumber daya yang dimiliki oleh penyerang. Dulu, algoritma seperti MD5 dan SHA-1 dianggap cukup aman, tetapi seiring dengan kemajuan teknologi, keduanya kini rentan terhadap serangan seperti collision attack dan brute force dengan bantuan CPU canggih.
Sebagai penggantinya, algoritma hashing modern seperti SHA-2 dan bcrypt dikembangkan. Kedua algoritma tersebut, kini banyak digunakan dalam berbagai aplikasi keamanan , terutama untuk melindungi data sensitif dan untuk autentikasi.
SHA-256 sebagai bagian dari SHA-2, dikenal dengan tingkat keamanannya yang tinggi. Jika digunakan untuk hashing password dengan panjang 11 karakter yang terdiri dari angka, simbol, huruf besar dan huruf kecil, diperkirakan akan membutuhkan 2.052 tahun untuk meretasnya. Sementara itu, algoritma bcrypt dirancang khusus untuk keamanan password dengan beberapa fitur unggulan, seperti salting otomatis yang menambahkan nilai acak unik pada setiap password, serta cost factor yang mengontrol tingkat kesulitan hashing. Kedua kombinasi itu jika dipadukan dengan password kombinasi 8 karakter, diperkirakan membutuhkan waktu 27.154 tahun untuk memecahkannya dengan brute force.
Penutupan
Algoritma hashing modern membantu pengguna dalam mengamankan password ketika disimpan. Namun, sekuat apapun algoritma hashing yang digunakan, keamanan tetap sangat bergantung pada kualitas password. Jika password yang kita gunakan terlalu lemah atau mudah ditebak algoritma bcrypt maupun SHA-256 tak akan mampu melindungi password kita. Oleh karena itu, penting untuk selalu menggunakan kombinasi password yang kuat serta menerapkan langkah-langkah keamanan tambahan seperti multi-factor authentication (MFA) agar perlindungan data makin optimal.
Referensi :
- https://portswigger.net/cms/images/e9/ea/1859ebc77d62-article-200110-sha-1-body-text1.png
- https://indodax.com/academy/hashing-adalah/
- https://pintu.co.id/academy/post/apa-itu-hashing-dan-bagaimana-cara-kerjanya
- https://cloud.google.com/learn/what-is-encryption?hl=id
- https://support.bittime.com/hc/id/articles/8988272420751-Mengenal-Apa-Itu-Hash-dan-Peranannya
- Santoso, M. H., Girsang, N. D., Siagian, H., Wahyudi, A., & Sitorus, B. A. (2019). Perbandingan Algoritma Kriptografi Hash MD5 dan SHA-1. Semantika, 2(1), 54–59. https://semantika.polgan.ac.id/index.php/Semantika/article/download/52/50
- https://thehackernews.com/2025/01/how-long-does-it-take-hackers-to-crack.html
- https://tharakasachin98.medium.com/the-evolution-of-secure-hashing-sha-family-6d6ab8e7fefc