Using random iterations in password hashing. Good or Bad?
I am currently using individual salts per password in my hashing solution.
My understanding is that using salts helps to prevent people from using lookup and rainbow tables to crack the passwords.
Due to legacy issues I am using the PBKDF2 algorithm inside the .NET Rfc2898DeriveBytes cryptology class which I believe uses HMAC based on SHA1. With this in mind I am looking at alterative ways to strengthen my password hashes.
I read a comment in an article that if you randomise the number of iterations for each password (iterations are stored with the salt for use when verifying password) that this also helps with beating rainbow table attacks.
As I can't find anywhere else that seems to mention this method I was wondering if anyone knew whether the randomising of iterations was actually a good idea or simply an unnecessary step? Could it in fact be a bad idea?
My thoughts are that even a matching hash at a different iteration count wouldn't result in the hacker knowing the actual password.
In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!