What do most attacks on hash functions involve?

A. Finding Collisions
B. Pre-generating millions of hashes and comparing them to the plain text that generates it.
C. Really good random guessing.

(2 points)
Responses

A and B
A and B

A and C
A and C

B and C

The correct answer is A. Finding Collisions. Most attacks on hash functions involve finding collisions, which means finding two different inputs that produce the same hash value. This allows an attacker to create a fraudulent input that has the same hash value as a legitimate input, leading to potential vulnerabilities. Pre-generating millions of hashes and comparing them to the plain text is not a common attack on hash functions. Random guessing (option C) is also not a common attack method for hash functions.

The most common attacks on hash functions involve finding collisions (A) and pre-generating millions of hashes and comparing them to the plain text that generates it (B).

The correct answer is A and B: Finding Collisions and Pre-generating millions of hashes and comparing them to the plain text that generates it.

1. Finding Collisions:
Most attacks on hash functions involve attempting to find collisions. Collisions occur when two different inputs produce the same hash output. Attackers search for collisions to weaken the integrity and security of the hash function.

2. Pre-generating millions of hashes and comparing them to the plain text that generates it:
Another common attack on hash functions is pre-generating a large number of hashes for various inputs and then comparing them to the plain text that generates them. This is known as a "brute-force" attack, where the attacker tries every possible input value to find a match. By pre-computing and storing a large number of hashes, the attacker can quickly determine if any of these match the target hash, revealing the original input.

Option C, "really good random guessing," is not a typical method used in attacks on hash functions. While it is technically possible to guess the input that generates a particular hash, the probability of success is extremely low. Therefore, it is not a practical approach for attacking hash functions.

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