My understanding of hashing and salting, and the process:
Things to remember:
It's used to guard against dictionary attacks
it's used to thwart brute force attacks
Process:
1 Salt is generated:
[usually in proportional length] relative to the SHA being deployed.
The hash value is generated.
The salt is added to the beginning of the hash value.
The salt is added to the end of the hash value.
Remember: Binary is base 2
Explanation and Example: 2-bit salt
The number of bits is in relation to the number of binary bits [1's and 0's] contained within each little binary container.
This means each little binary container
[contains within it]
2 to the power of 2, thus:
00 01 10 11
Now 2 to the power of 2 is equal to 4
So this 4 — is equal to the total number of little binary containers .
So a picture like this is perhaps clearer:
Binary bits — 00 01 10 11
Binary containers — 1 2 3 4
The total number of possible values this can create:
Is directly related to the number of times each binary container [ which contains the binary bits]
can be added to the front of the hashed value
and to the end of the hashed value :
So there this would mean there are a total of
2 to the power of 4 possible combinations
2 to the power of 4 is equal to 8
So to sum up:
when thinking about bits :
This is the number of bits contained within each binary container
When thinking about the resulting total number of possible binary combinations:
This is the total number of possible combinations
and can be worked out using base 2 to the power of the desired number of bits.
Thinking about SALT and HASHING