I am skeptical that this method adds any protection to a brute force attack relative to a standard implementation of PBKDF2 hashes stored with the users. With proper salts, we have no advantage cracking a password in a database of 10 users or 10 million users. LinkedIn didn't have any salts. The effectiveness of brute forcing a password is determined entirely by how many passwords they can test for a particular user…
It's a question of sizing up what resources the attacker has, versus what they will need to succeed in an attack. We want to make password cracking extremely difficult. It's a problem a big site should want to throw some money at. Today, we make it hard by requiring lots of CPU. Another commenter said 'scrypt' -- yes, we want to make it hard by requiring lots of RAM too. Here's another way to make it hard -- now you'…
Maybe we should start heading back in the other direction, like making our stacks secure and not expecting a data leak in the first place. Sure be prepared with your time/memory hard hash constructs, it's not a solution to writing insecure code in the first place.