Message digest functions convert sequences of bits, possibly quite long, called messages, into fixed-length binary “fingerprints” or message digests of the original sequences. See Figure 2-1. A message digest function has two goals:
It should be computationally infeasible to find another message whose digest is the same as the digest of a given message.
It should be computationally infeasible to find two arbitrary messages whose digests are the same.
In the common case where an authentication method takes a large amount of computational effort and that effort is proportional to the number ...