Re: Windows passwords
From: David Magda (dmagda+trace030725_at_ee.ryerson.ca)
Date: 08/09/03
- Previous message: David Magda: "Re: URGEN... unixe password Vs. windows NT password"
- In reply to: Henrik Falk: "Windows passwords"
- Next in thread: Henrik Falk: "Re: Windows passwords"
- Reply: Henrik Falk: "Re: Windows passwords"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Date: 08 Aug 2003 19:07:54 -0400
Henrik Falk <shienarier@linux.nu> writes:
> I am rather new to both newsgroups and unix passwords, so i hope this
> message will work out fine.
>
> I was reading the new paper about being able to crack windows passwords
> quickly. And that windows doesn't use any randomness (salt).
> While *nix does. What randomness does *nix use?
> What exactly IS the salt?
It's a random value added to the password before it is
hashed/encrypted. This is to make it more difficult to brute the
hashed value. An example:
If two users (alice & bob) both have the same password, say
"GuessMe", then under Windows, both alice's and bob's password will
result in the same hash. So if someone gets hold of the password
database, and looks at the stored hased values they'll see both alice
and bob have the same one. This is because
PW_alice = "GuessMe" and
PW_bob = "GuessMe"
so
Hash(PW_alice) = Hash(PW_bob)
But with a salt you add some randomness. So although the PW_alice and
PW_bob are the same, the stored value is
Hash(SALT_alice + PW_alice)
Hash(SALT_bob + PW_bob)
where
SALT_alice != SALT_bob
therefore
Hash(SALT_alice + PW_alice) != Hash(SALT_bob + PW_bob)
There is a probability that the two salts will be the same, but it is
generally not too big.
With cracking passwords what you can do is take the most common
possibilities (only alphabet characters) and pre-compute the
hashes. You then try to acquire the password file of a system and
compare the values you have there with your pre-computed values. Any
values that match you instantly know the user's password.
What the salt does is add to the values you must compute. You have to
compute
Hash(SALT_1 + PW), Hash(SALT_2 + PW), ..., Hash(SALT_N + PW)
where PW is the password you are pre-computing, and salts SALT_1 to
SALT_N are all possible salt values. This can add a lot of
comptation. In the case of traditional Unix DES passwords there are
4096 possible salt values. Newer hashing methods have more salt
values.
-- David Magda <dmagda at ee.ryerson.ca>, http://www.magda.ca/ Because the innovator has for enemies all those who have done well under the old conditions, and lukewarm defenders in those who may do well under the new. -- Niccolo Machiavelli, _The Prince_, Chapter VI
- Previous message: David Magda: "Re: URGEN... unixe password Vs. windows NT password"
- In reply to: Henrik Falk: "Windows passwords"
- Next in thread: Henrik Falk: "Re: Windows passwords"
- Reply: Henrik Falk: "Re: Windows passwords"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Relevant Pages
|