What do most attacks on hash functions involve?

Finding Collisions

Pre-generating millions of hashes and comparing them to the plain text that generates it.

Really good random guessing.

O Aand B
O Aand C
O Band C

Finding Collisions

The correct answer is: Finding Collisions.

Most attacks on hash functions involve trying to find collisions, which refers to finding two different inputs that produce the same hash value. Attackers try to find collisions to break the security of the hash function and manipulate the data or create fraudulent information. The second option mentioned of pre-generating millions of hashes and comparing them to the plain text is a brute-force approach, but collisions are the main focus of attacks on hash functions. The third option of really good random guessing is not a common attack method for hash functions.

The most common type of attacks on hash functions involve finding collisions. Collisions occur when two different inputs produce the same hash value. Attackers try to exploit this vulnerability by trying to find two different inputs that produce the same hash value.

To carry out such attacks, attackers often pre-generate millions of hashes by inputting various strings into the hash function and comparing the resulting hash values to the plain texts that generated them. By doing so, they look for different inputs that generate the same hash value, indicating a collision.

Random guessing is not an effective method for attacking hash functions since the probability of randomly guessing a specific input that generates a specific hash value is extremely low. It is more practical and efficient for attackers to use techniques like pre-generation and comparison of hash values to successfully find collisions.

In conclusion, the correct answer is O A and B (Finding Collisions and Pre-generating millions of hashes and comparing them to the plain text that generates it).