Algoritma Hashing dalam Perspektif Robot Brute Force

Dalam dunia keamanan digital, sering kali kita membahas algoritma hashing dari sudut pandang developer atau sistem. Namun ada satu sudut pandang yang jarang dibahas secara eksplisit, padahal sangat menentukan: perspektif robot brute force.

Tulisan ini mencoba melihat algoritma hashing bukan dari sisi pembuat sistem, tetapi dari sisi penyerang otomatis—robot yang tugasnya hanya satu: menebak password secepat dan semurah mungkin.


Cara Kerja Robot Brute Force (Singkat)

Bagi robot, prosesnya sederhana:

  1. Tebak sebuah password
  2. Hash password tersebut
  3. Bandingkan dengan hash target
  4. Ulangi jutaan hingga miliaran kali

Robot tidak berpikir, tidak peduli konteks, dan tidak lelah. Yang penting baginya hanyalah:

Kecepatan, Paralelisme dan Efisiensi biaya komputasi

Dengan sudut pandang ini, mari kita bandingkan tiga algoritma hashing populer:
SHA-256,  bcrypt,  dan Argon2id.


1. SHA-256: Cepat, tapi Terlalu Ramah untuk Robot

SHA-256 adalah algoritma hashing kriptografis yang sangat baik untuk:

  • Integritas data
  • Digital signature
  • Verifikasi file

Namun, bukan untuk menyimpan password.

Perspektif robot terhadap SHA-256

  • Sangat cepat
  • Mudah diparalelkan
  • Cocok untuk GPU dan ASIC
  • Tanpa cost factor
  • Tanpa salt bawaan

Robot modern dengan GPU mampu menghitung miliaran hash SHA-256 per detik. Ini berarti:

  • Password berbasis kata manusia → habis dalam hitungan detik/menit
  • Password tanpa salt → satu hash bisa menjebol banyak akun sekaligus

Bagi robot, SHA-256 adalah target empuk dan ekonomis.


2. bcrypt: Mulai Membuat Robot Berpikir Ulang

bcrypt dirancang khusus untuk hashing password, dengan filosofi yang berbeda:

“Keamanan dengan memperlambat penyerang.”

Fitur penting bcrypt

  • Salt unik per password
  • Cost factor (work factor)
  • Sengaja dibuat lambat
  • Tidak ramah GPU

Perspektif robot

bcrypt mengubah permainan secara drastis.

Jika SHA-256 bisa dihitung miliaran kali per detik, maka bcrypt (cost 12) hanya bisa:

  • ±3–5 hash per detik per core CPU

GPU kehilangan keunggulannya karena bcrypt:

  • Boros memori

  • Banyak operasi serial

  • Tidak efisien untuk paralelisme masif

Robot mulai menghadapi dilema:

“Waktu dan listrik saya lebih mahal dari nilai target ini.”

Di titik inilah banyak serangan berhenti, bukan karena password “tidak mungkin”, tapi karena tidak ekonomis.


3. Argon2id: Musuh Alami Robot Modern

Argon2id adalah standar modern (pemenang Password Hashing Competition) yang dirancang dengan asumsi:

Penyerang punya GPU, RAM besar, dan waktu.

Keunggulan Argon2id

  • Memory-hard (butuh RAM besar)
  • Time cost (lama proses)
  • Memory cost (boros memori)
  • Parallelism terkontrol
  • Tahan side-channel attack

Perspektif robot

Argon2id memaksa robot untuk:

  • Menyediakan RAM besar per tebakan
  • Tidak bisa mengandalkan GPU murah
  • Membayar mahal untuk setiap guess

Robot modern paling membenci Argon2id, karena biaya serangannya naik drastis dan skalabilitasnya buruk.


Tabel Perbandingan Perspektif Robot

AspekSHA-256bcryptArgon2id
Kecepatan hashSangat cepatLambatSangat lambat
Salt bawaanTidakYaYa
Cost / tuningTidak adaYaYa (time & memory)
GPU friendlySangatTidakSangat tidak
Rainbow tableEfektifTidak bergunaTidak berguna
Biaya seranganMurahMahalSangat mahal
Reaksi robot“Target ideal”“Pikir dua kali”“Cari target lain”

Di Titik Mana Robot Mulai Kesulitan?

Robot mulai kesulitan bukan saat algoritma tak bisa dipecahkan, tetapi saat:

  • Setiap tebakan butuh waktu ratusan milidetik
  • Tidak bisa diskalakan ke GPU
  • Membutuhkan RAM besar
  • Password tidak ada di wordlist umum

bcrypt (cost ≥ 12) sudah cukup membuat banyak robot menyerah.
Argon2id membuat serangan brute force skala besar tidak masuk akal secara ekonomi.


Tips Membuat Password yang Manusiawi tapi Aman

Keamanan password bukan soal terlihat rumit, tapi soal tidak ekonomis untuk ditebak.

1. Gunakan frasa panjang, bukan karakter acak

Contoh:

kopi pagi hujan senja 2025
  • Mudah diingat manusia

  • Sulit ditebak robot

  • Tidak umum di wordlist

2. Panjang lebih penting dari kompleksitas

  • 20+ karakter sederhana > 8 karakter super kompleks

  • Robot lebih takut panjang daripada simbol

3. Hindari pola umum manusia

Contoh Misalnya: Nama123, Password2024, Tanggal lahir, admin@123

4. Biarkan sistem melakukan hashing dengan benar

  • Jangan SHA-256 manual

  • Gunakan password_hash() di PHP

  • Pilih bcrypt atau Argon2id

5. Kombinasikan dengan 2FA

Password kuat + hashing kuat + 2FA = lapisan frustasi maksimal untuk robot


Penutup

Dalam keamanan modern, tujuan utama bukan membuat sistem tak bisa ditembus, tetapi membuat serangan:

Mahal, Lambat dan Tidak sepadan

SHA-256 mungkin kriptografis kuat, tetapi terlalu ramah bagi robot.
bcrypt membuat robot berpikir ulang.
Argon2id membuat robot pergi mencari target lain.

Dan dalam dunia nyata, itu sudah lebih dari cukup.

DOKUMENTASI LAMA