On Sun, Nov 28, 2010 at 12:19 AM, Christophe Pettus <x...@thebuild.com> wrote: > Let's do the math. The space of eight alphanumeric character passwords is > 2.8e12. Even assuming you can cut two orders of magnitude off of that with > good assumptions about the kind of passwords that people are picking, this > means that the attacker has to run about 28 billion times more computations > that you do. At 10ms per password, it would take them about 447.8 years to > crack a single password, assuming hardware of equivalent speed.
The point is that I'm *not* assuming hardware of equivalent speed. I'm assuming that a worst-case attacker has hardware significantly faster than your webserver at their disposal, so I was curious if the purported benefit still held in that case. Maybe it does; I don't know. >> It does in fact slow down brute force attacks against multiple >> encrypted passwords; each password with a different salt is within an >> entirely different space that needs to be brute forced separately from >> the other passwords. > > Remember how a brute force attack works. Given a hash x, the attacker does: > > hash('00000000' + salt) = x? No, then, > hash('00000001' + salt) = x? No, then, > ... > > The only benefit of the salt here is that it makes the string to be hashed a > bit longer, but the benefit is linear, not exponential. I'm not arguing that a salt helps against brute-forcing a *single* password (it doesn't), but it does in fact help against someone trying to brute-force your entire password database (or any subset of more than one password), since each password with a different salt lies within an entirely different space that must be brute-forced separately from the rest. > Anyway, back to the discussion of the actual proposal. :) Sure, I didn't mean to veer things too far off course here; even assuming the bcrypt argument doesn't hold, it's entirely possible that someone may want to easily plug in SHA512/SHA3/whatever into their password encryption. -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-develop...@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.