An attack based on the probability of two different messages using the same hash function producing a common message digest is called a: