Hashing and Message Digest Notes
--------------------------------
Hash - a one-way function (difficult to find the inverse).
Needed properties for cryptographically secure hash:
1. computationally infeasible to find a message that has given
the hash
2. it should be impossible for two messages to hash to the same
number (and to find two messages with the same hash)
Appearance to a cracker:
1. Looking at a sequence of outputs, any bit should be 1 about
half the time
001000...1...0001001
^
2. Each output should have about half its bits set to 1
3. Any two outputs should be uncorrelated no matter how
similar their inputs are