Se vogliamo cercare ragioni razionali non per usare lo scrypt in questo momento, possiamo trovare principalmente questi tre:
-
Non è chiaro se una funzione "memory-hard" è ciò che è necessario, con le configurazioni dei parametri supportate da scrypt. Scrypt è stato inizialmente progettato per supportare la crittografia locale, in particolare la crittografia dell'intero sistema. Ciò significa che la password deve essere sottoposta a hash durante la procedura di avvio del sistema; a quel tempo, il computer non ha nient'altro da fare, quindi l'intera CPU e la RAM sono disponibili per un singolo scrypt; e poiché l'avvio richiede già una quantità di tempo non trascurabile, l'hashing della password che si estende per 5 o 10 secondi non è un problema.
Un server tipico avrà bisogno di una configurazione distinta, che utilizza meno RAM (un server non può permettersi un gigabyte per hashing della password, se deve servire diversi client e non crollare sotto il carico di punta) e meno CPU (un'autenticazione del sito Web dovrebbe essere fatto in meno di 1 secondo, perché gli utenti non sono pazienti e, ancora una volta, dobbiamo tenere conto del carico di punta). Resta da vedere se lo scrypt è migliore di bcrypt se configurato per "l'uso del server"; infatti, se hai bisogno di ridurre l'utilizzo della CPU a circa 1 ms per hash, lo scrypt usa less RAM di bcrypt, rendendo quest'ultima un'opzione superiore.
-
Per quanto riguarda la durezza della memoria, lo scrypt risulta non essere il più ottimale possibile. Alcune ottimizzazioni basate su GPU sono ancora realizzabili con i compromessi della memoria temporale. Il guadagno dell'attaccante non è devastante, ma se vogliamo cambiare la nostra funzione di hashing della password, allora potremmo provare a trovarne una che rispetti le sue promesse.
Tali problemi e altre informazioni sono disponibili in questa presentazione . Per riassumere: mentre le idee espresse nella progettazione di scrypt sono piuttosto interessanti, la sensazione generale dei crittografi è che ci dovrebbe essere più ricerca; e, in effetti, ha spinto il PHC : una competizione aperta, nello spirito di sforzi passati come AES, SHA-3 o eSTREAM, dove vengono proposti e rivisti nuovi candidati.
Se in fase di produzione si utilizza lo scrypt, allora dovrebbe essere ragionevolmente strong, sebbene dipenda dai parametri scelti. Quella è la conclusione principale di 5 anni di ricerca: la crittografia è valida, c'è un compromesso tra memoria e tempo che non è dannoso, ma non abbiamo un sacco di indicazioni su come configurarlo in modi che funzioneranno bene nei server tipici.