I've spent the past 2 hours reading up on salting passwords, making sure that I understood the idea. I was hoping some of you could share your knowledge on my conclusions.
Say the salts on a system are 12 characters. If i'm an attacker, I don't have to create a rainbow table of all the combinations of those 12 characters with each entry in my dictionary. I could just take all the per-user salts present in the table and just use those to create my rainbow table. For big tables this could take a long time, but if i could cut the list down to users of interest (admins, mods) i could user much bigger dictionary lists to create the rainbow tables. Raising my percentage of hits...
If this is true then it seems that salting really doesn't do all that much to help. It only marginally slows down an attacker.
I know ideally you would want to force complex passwords and salt them with unique and random strings, but forcing complex passwords can annoy users (i know it annoys me) so a lot of sites don't do it. It seems sites are doing their users a disservice with this, and that forcing complex passwords is a lot more important that a good salting method.
I guess this isn't so much a question, but a request for others knowledge on the situation.