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
.password
is concatenated withsalt
to givepasswordsalt
orsaltpassword
.passwordsalt
/saltpassword
is hashed to valuehash
.Enter hacker.
Hacker employs rainbow tables to reverse
hash
intopasswordsalt
/saltpassword
.Hacker has in hands (example) the string
letmein1horse
.
Given letmein1horse
, doesn't this simply mean that there are two options:
Password is
letmein1
and salt ishorse
.Password is
horse
and 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?