|
|
|
|
|
by niftich
3654 days ago
|
|
General-purpose cryptographic hash functions like the (now-broken) MD5, SHA1, SHA256, etc. are designed to be computationally easy, ie. fast. Salting protects against rainbow tables [1], but it doesn't change the fact that computing a SHA256 hash is fast. Password hash functions like PBKDF2, bcrypt, scrypt, Argon2 are designed to be computationally expensive, to make a password-cracking endeavor take even longer. Argon2, the winner of the Password Hashing Competition and the current state-of-the-art, for example, has two ready-made variants: Argon2d is more resistant to GPU cracking, while Argon2i is more resistant to time-memory tradeoff attacks [2]. [1] https://en.wikipedia.org/wiki/Rainbow_table [2] https://github.com/p-h-c/phc-winner-argon2 |
|