Tentang alat ini
Generator & Verifikator Hash KDF scrypt menurunkan dan memeriksa keluaran scrypt secara lokal di browser Anda. scrypt, dirancang oleh Colin Percival dan distandarisasi dalam RFC 7914, adalah fungsi penurunan kunci yang memory-hard: biayanya sengaja didominasi oleh bandwidth memori sehingga perangkat keras peretas kustom hanya memperoleh sedikit keuntungan. Pipelinennya adalah PBKDF2-HMAC-SHA256 untuk memperluas kata sandi, fungsi ROMix yang dibangun di atas BlockMix dan inti Salsa20/8 untuk memaksa penggunaan memori sekuensial besar, dan PBKDF2-HMAC-SHA256 final untuk menghasilkan kunci turunan dengan panjang pilihan Anda.
Mode generate membaca 16 byte salt acak dari crypto.getRandomValues dan menjalankan scrypt dengan tiga parameter cost: N adalah cost CPU/memori dan harus berupa pangkat dua (default 16384 = 2^14), r adalah ukuran blok (default 8), dan p adalah faktor paralelisasi (default 1). Penggunaan memori kira-kira 128 · N · r byte — sekitar 16 MiB pada default — dan alat ini memperingatkan ketika pengaturan Anda akan melebihi 256 MiB. Keluarannya adalah string yang mendeskripsikan dirinya sendiri $scrypt$ln=14,r=8,p=1$<salt base64>$<kunci base64> di mana ln = log2(N), jadi setiap parameter yang diperlukan untuk verifikasi dibawa bersama hash.
Mode verify mengurai ln, r, p, salt, dan kunci tersimpan dari string tersebut, menghitung ulang kunci turunan dengan kata sandi kandidat, dan melakukan perbandingan waktu-konstan untuk melaporkan cocok atau tidak cocok. Inti scrypt berjalan sebagai build WebAssembly bebas-eval di bawah kebijakan keamanan ketat browser, jadi kata sandi diproses 100% di browser Anda dan tidak ada yang diunggah.