Entrambi gli algoritmi di hashing bcrypt e scrypt sono progettati per aumentare le risorse necessarie durante il calcolo. Le password di hashing con questi algoritmi possono essere utili in quanto rende più difficile l'attività di un utente malintenzionato offline.
Il tempo richiesto per hash una password può essere aumentato aumentando il numero di iterazioni in bcrypt. L'utente malintenzionato deve quindi eseguire queste iterazioni in modo sequenziale in quanto non esiste alcuna scorciatoia presunta.
La memoria richiesta per hash una password può essere aumentata in scrypt. L'attaccante avrà quindi bisogno di una grande quantità di memoria per montare attacchi paralleli.
Come, capisco entrambi questi tentativi di algoritmo per contrastare gli attacchi paralleli.
La mia domanda è: possiamo rendere SHA-x o qualsiasi algoritmo di hash sicuro esistente iterativo e ad alta intensità di memoria, e ottenere la stessa funzionalità di bcrypt e scrypt?