Hash/Kripto

Argon2 Hash + Verify

Hash kata sandi dengan Argon2 (pemenang Password Hashing Competition, RFC 9106) — varian d/i/id, dengan verifikasi terhadap hash yang sudah ada.


                    

Argon2 is the Password Hashing Competition winner and the algorithm recommended in RFC 9106 for hashing passwords. Unlike bcrypt, it deliberately demands a lot of memory, not just CPU time, which makes attacks on specialized hardware (GPUs, ASICs) much harder.

How to use it

Common uses

Things to keep in mind

The memory parameter is Argon2's main defense: the more memory hashing requires, the more expensive it is for an attacker to parallelize an attack on a GPU with limited fast memory per chip.

Argon2id is recommended for most cases: Argon2i resists side-channel attacks better, Argon2d resists GPU attacks better, and id combines both approaches.

Artikel tentang alat ini: Argon2: mengapa algoritma ini memenangkan kompetisi hashing kata sandi

Pertanyaan yang sering diajukan

Mengapa Argon2 direkomendasikan dibanding hash lama seperti MD5 atau SHA-256 untuk kata sandi?

Argon2 sengaja dibuat lambat dan membutuhkan banyak memori, membuat brute-force dan peretasan berbasis GPU/ASIC jauh lebih mahal, tidak seperti hash serbaguna cepat seperti MD5 atau SHA-256 yang tidak cocok untuk penyimpanan kata sandi.

Apa yang dikontrol oleh parameter memori, iterasi, dan paralelisme?

Biaya memori menentukan berapa banyak RAM yang dibutuhkan setiap percobaan hash, iterasi mengontrol berapa kali proses dijalankan, dan paralelisme menentukan jumlah thread — menaikkan salah satunya meningkatkan biaya peretasan namun memperlambat hashing.

Varian Argon2 mana yang harus saya gunakan — d, i, atau id?

Argon2id adalah default yang direkomendasikan untuk hashing kata sandi, karena menggabungkan ketahanan Argon2i terhadap serangan side-channel dengan ketahanan Argon2d terhadap peretasan GPU.

Dari mana asal Argon2 sebagai standar?

Argon2 memenangkan Password Hashing Competition tahun 2015 — kompetisi terbuka para kriptografer yang bertujuan menemukan algoritma terbaik untuk hashing kata sandi. Sejak itu, OWASP merekomendasikannya sebagai pilihan prioritas di atas bcrypt.

Apakah parameter paralelisme hanya mempercepat hashing?

Tidak, parameter yang sama juga mempercepat upaya brute force bagi penyerang dengan perangkat keras multi-core, sehingga paralelisme sebaiknya disesuaikan dengan jumlah core server yang sebenarnya, bukan dinaikkan tanpa perlu.

Artikel: Hash/Kripto

Hash Generator: apa perbedaan MD5, SHA-1, dan SHA-256

Mengapa MD5 masih digunakan untuk memverifikasi integritas file, tapi tidak untuk kata sandi.

Checksum Verifier: cara memeriksa apakah file tidak rusak

Mengapa checksum yang cocok mengonfirmasi integritas file, tapi bukan siapa yang membuatnya.

HMAC: apa bedanya hash dengan kunci dan hash biasa

Mengapa SHA-256 biasa tidak melindungi dari pemalsuan pesan, tapi HMAC melindungi.

Bcrypt: mengapa kata sandi di-hash secara lambat, bukan cepat

Mengapa SHA-256 yang cepat adalah pilihan buruk untuk kata sandi, dan bcrypt yang lambat adalah pilihan yang tepat.

UUID: bagaimana identifier yang hampir tidak pernah berulang dibuat

Mengapa UUID v4 bisa dibuat secara independen di jutaan mesin tanpa risiko tabrakan.

Generator Kata Sandi: apa yang sebenarnya membuat kata sandi kuat

Mengapa kata sandi panjang dari kata-kata kamus lebih kuat daripada kata sandi pendek dengan simbol dan angka.

AES: bagaimana enkripsi simetris bekerja

Mengapa kunci yang sama mengenkripsi dan mendekripsi data di AES, dan bagaimana ini berbeda dari enkripsi asimetris.

Scrypt: mengapa algoritma ini membutuhkan begitu banyak memori

Mengapa scrypt sengaja membutuhkan banyak memori untuk mempersulit pembobolan di perangkat ASIC.

TOTP: bagaimana kode sekali pakai di aplikasi autentikator bekerja

Mengapa kode di Google Authenticator bekerja tanpa internet dan hanya sinkron dengan server melalui waktu.

PBKDF2: standar peregangan kunci tertua

Mengapa jumlah iterasi PBKDF2 yang direkomendasikan terus bertambah setiap tahun.

X.509: apa yang ada di dalam sertifikat SSL

Apa sebenarnya yang diperiksa browser pada sertifikat sebuah situs sebelum menampilkan gembok hijau.

PGP: bagaimana enkripsi kunci publik dan privat bekerja

Mengapa kunci publik PGP bisa dibagikan secara bebas, tapi kunci privat tidak pernah.