1

I read the man crypt and didn't understand what the phrase below means: salt is a two-character string chosen from the set [a-zA-Z0-9./]. This string is used to perturb the algorithm in one of 4096 different ways.

  • See also: http://stackoverflow.com/questions/21209321/what-is-the-use-of-salt-specifically-the-word-perturb – indiv Aug 12 '14 at 20:06

2 Answers2

0

The primary function of salts is to defend against dictionary attacks versus a list of password hashes and against pre-computed rainbow table attacks.

Salt (cryptography)

Basically adding a little bit of unknown data into the hash prevents an attacker from precomputing all hashes for a given dictionary and then just looking up in the table to find the unhashed value.

dohashi
  • 1,771
  • 8
  • 12
0

Usually to encrypt sensitive data a salt is used.

What this means is your sensitive data (say password) is concatenated with a string(salt), encrypted and then stored.

This protects it against table attacks, in which an attacker, has most dictionary words and their popular algorithm encryption (md5, sha1, etc) Strings in a table. So if he were to have access to the db, he would be able to decipher all of your sensitive data.

Using a salt makes it harder for the attacker since - The attacker needs to know the algorithm used with which the salt was added and would need a specific dictionary for that specific salt, making his life harder.

Ajk_P
  • 1,874
  • 18
  • 23