Hash/Crittografia

Scrypt Hash + Verify

Applica l'hash alle password con scrypt (RFC 7914, KDF memory-hard) con verifica rispetto a un hash esistente.


                    

Scrypt (RFC 7914) was one of the first memory-hard password-hashing algorithms: it deliberately requires a lot of RAM, not just CPU time, to make parallel brute-forcing on GPUs and ASICs harder.

How to use it

Common uses

Things to keep in mind

The N parameter (memory cost) increases both required memory and compute time exponentially — tune it to your server's actual capacity.

Scrypt has been superseded by Argon2 (the official Password Hashing Competition winner) as the recommended choice for new systems, though scrypt itself still isn't considered unsafe.

Articolo su questo strumento: Scrypt: perché l'algoritmo ha bisogno di così tanta memoria

Domande frequenti

In cosa differisce scrypt da bcrypt o PBKDF2?

Scrypt è deliberatamente esigente sia in memoria che in CPU, rendendolo molto più costoso da violare con GPU o hardware ASIC personalizzato rispetto a bcrypt o PBKDF2, che resistono principalmente al brute-force basato su CPU.

Cosa controllano i parametri N, r e p?

N imposta il costo CPU/memoria (deve essere una potenza di due), r imposta la dimensione del blocco che influisce sull'uso della memoria per operazione, e p imposta la parallelizzazione — aumentare uno qualsiasi alza il costo delle risorse sia per l'uso legittimo che per gli attacchi.

scrypt è ancora una buona scelta rispetto ad Argon2?

Scrypt rimane solido e collaudato, ma Argon2 (vincitore della Password Hashing Competition) è generalmente consigliato per i nuovi sistemi, poiché offre un controllo più fine su memoria e resistenza agli attacchi side-channel.

Quanta memoria consuma davvero scrypt?

Circa 128 × N × r byte per singolo calcolo. Con parametri tipici (N=16384, r=8) sono circa 16 megabyte per hash — trascurabile per un singolo login, ma significativo con migliaia di autenticazioni simultanee sul server.

Dove viene usato scrypt oltre all'hashing delle password?

Scrypt è noto come algoritmo di proof-of-work in alcune criptovalute (ad esempio Litecoin) — è stato scelto proprio per la resistenza al mining su dispositivi ASIC specializzati, tipica di bitcoin con il suo SHA-256.

Articoli: Hash/Crittografia

Hash Generator: in cosa differiscono MD5, SHA-1 e SHA-256

Perché MD5 viene ancora usato per verificare l'integrità dei file, ma non per le password.

Checksum Verifier: come verificare che un file non sia danneggiato

Perché un checksum corrispondente conferma l'integrità di un file, ma non chi lo ha creato.

HMAC: in cosa differisce un hash con chiave da un hash normale

Perché un semplice SHA-256 non protegge dalla manomissione di un messaggio, ma HMAC sì.

Bcrypt: perché le password vengono hashate lentamente, non velocemente

Perché un SHA-256 veloce è una cattiva scelta per le password, e un bcrypt lento è quella giusta.

UUID: come vengono generati identificatori che quasi non si ripetono mai

Perché un UUID v4 può essere generato in modo indipendente su milioni di macchine senza rischio di collisione.

Generatore di password: cosa rende davvero forte una password

Perché una password lunga fatta di parole del dizionario è più forte di una corta con simboli e numeri.

AES: come funziona la crittografia simmetrica

Perché la stessa chiave cifra e decifra i dati in AES, e come questo differisce dalla crittografia asimmetrica.

Argon2: perché questo algoritmo ha vinto il concorso sull'hashing delle password

Come Argon2 si difende meglio dagli attacchi con GPU rispetto agli algoritmi di hashing password più vecchi.

TOTP: come funzionano i codici monouso nelle app di autenticazione

Perché il codice di Google Authenticator funziona senza internet e si sincronizza col server solo tramite l'ora.

PBKDF2: lo standard più vecchio per lo stretching delle chiavi

Perché il numero di iterazioni raccomandato per PBKDF2 cresce ogni anno.

X.509: cosa c'è dentro un certificato SSL

Cosa controlla esattamente il browser nel certificato di un sito prima di mostrare il lucchetto verde.

PGP: come funziona la crittografia a chiave pubblica e privata

Perché si può condividere liberamente una chiave pubblica PGP, ma mai quella privata.