Nella crittografia, "nuovo" è non anche "buono". Quel bcrypt ha dodici anni (12 anni ... è davvero "vecchio"? ) significa solo che ha sostenuto 12 anni di esposizione pubblica e ampio utilizzo senza essere rotto, quindi deve essere abbastanza robusto. Per definizione, un metodo "più recente" non può vantare tanto. Come crittografo, direi che 12 anni ha l'età giusta, e qualsiasi cosa più giovane di, diciamo, da 5 anni, è decisamente "troppo giovane" per lo spiegamento generale (ovviamente, queste stime dipendono da quanta esposizione l'algoritmo un dispiegamento tempestivo e ampio, sebbene rischioso per coloro che decidono di schierare, contribuirà notevolmente a rafforzare la fiducia nella sicurezza oa rivelare le debolezze in una fase precoce).
Scrypt è molto più recente di bcrypt ; risale al 2009. L'idea è abbastanza intelligente. Vale a dire, l'elaborazione lenta delle password ha lo scopo di rendere gli attacchi di dizionario N più costosi per l'aggressore, mentre implica che l'elaborazione normale è N ' volte più costosa per i sistemi onesti. Idealmente, N = N '; l'autore scrypt sostiene che con PBKDF2 o bcrypt, l'uso di ASIC consente a un utente malintenzionato di ottenere un N molto inferiore a N ' (in altre parole, l'utente malintenzionato può utilizzare hardware specializzato , perché è interessato solo a rompere una password, e quindi hash molte più password al secondo e per dollaro speso rispetto al sistema onesto). Per risolvere questo problema, scrypt si basa su un algoritmo che richiede un po 'di RAM, poiché la RAM ad accesso rapido è la specialità del PC e una nota dolente del design ASIC. Fino a che punto lo scrypt ha successo in quell'area rimane da misurare; Il 2009 è recente e le cifre fornite dall'autore scrypt si basano sulla tecnologia ASIC a 130 nm e su un'ipotesi di "5 secondi di elaborazione", che va ben oltre ciò che l'utente medio è pronto ad attendere.
Per l'utilizzo pratico ora , consiglio bcrypt.
Nonostante le Scritture, la ricerca attuale sul concetto di elaborazione della password riguarda più trasformazioni specializzate che consentono più di una semplice verifica della password. Ad esempio, il protocollo SRP consente un accordo di chiave crittografica con autenticazione reciproca basata su password e resiliente agli attacchi di dizionario (anche nel caso di un aggressore che impersona attivamente il client o il server); ciò richiede un po 'di struttura matematica e l'hashing delle password in SRP implica l'esponenziazione modulare.