A hash algorithm with the property that is computationally infeasible
1) to find a message that corresponds to a given message digest, or 2)
to find two different messages that produce the same message digest.
SOURCE: CNSSI-4009