Possible Duplicate:
How does password salt help against a rainbow table attack?
Before you mention it, I already read this question. I didn't follow.
Here's my understand of salts/rainbow tables. Please correct me where I'm wrong.
User inputs raw
password.passwordis concatenated withsaltto givepasswordsaltorsaltpassword.passwordsalt/saltpasswordis hashed to valuehash.Enter hacker.
Hacker employs rainbow tables to reverse
hashintopasswordsalt/saltpassword.Hacker has in hands (example) the string
letmein1horse.
Given letmein1horse, doesn't this simply mean that there are two options:
Password is
letmein1and salt ishorse.Password is
horseand salt isletmein1.
So you see why I'm confused. My understand is clearly flawed, because if this was how it worked, obviously salts would be useless.
OR: Is my understanding correct, and it's the whole iteration scheme that completely undoes this obvious weakness?