Scrypt

scrypt adalah key derivation function yang memory-hard, dirancang oleh Colin Percival (RFC 7914). Ia menggabungkan fungsi hash dengan kebutuhan memori besar dan komputasi CPU intensif agar serangan brute force skala besar menjadi mahal dan tidak praktis, termasuk yang memakai GPU atau ASIC.

Berbeda dengan fungsi hash cepat seperti anggota SHA Family — yang cocok untuk integritas tetapi salah untuk password — scrypt sengaja lambat dan boros memori. Itu melengkapi larangan memakai MD5 untuk kredensial yang sudah dinyatakan di Web Security Knowledge.

Cara kerja singkat

scrypt memakai tiga parameter biaya: N (faktor CPU/memori), r (ukuran blok), dan p (paralelisasi). Nilai N yang besar memaksa penyerang menyediakan RAM besar per tebakan, sehingga hardware khusus kehilangan keunggulan biaya dibanding CPU biasa.

Parameter harus dipilih sesuai kemampuan server dan ancaman saat ini, lalu ditinjau berkala. Nilai yang terlalu rendah melemahkan proteksi; terlalu tinggi membuka risiko denial-of-service lewat login yang mahal.

Batas pemakaian

Gunakan scrypt (atau bcrypt, Argon2) dengan salt acak per password untuk penyimpanan kredensial. Lihat Authentication Strategies untuk pemilihan strategi dan Password Security di Supabase untuk contoh operasional bcrypt.

Untuk mining cryptocurrency, scrypt dipakai sebagai proof-of-work yang tahan ASIC pada waktunya — konteks berbeda dari keamanan password dan tidak dibahas lebih jauh di sini.

Sumber