What is the relationship between strong and weak collision resistance — does one imply the other?
Strong collision resistance (property 3) automatically implies weak collision resistance (property 2), but NOT the other way around.
* One-way implication: no collisions at all ⇒ none for a given input; the reverse does not hold. *
The logic:
- If you can't find any two colliding values at all (strong), then you certainly can't find a collision for a specific given value (weak)
- But being safe against targeted attacks on one document doesn't mean you're safe against the birthday-style search for any pair
Why must hash functions primarily resist the collision attack? Because even though the collision attack is less realistic (the attacker needs to manipulate the original), it's much easier computationally ($2^{n/2}$ vs $2^n$). So we design hash functions to be secure against the stronger, easier attack.
Consequence: The hash output size $n$ must be large enough that $2^{n/2}$ is still infeasible. For 128-bit security, you need a 256-bit hash. This is why SHA2-256 provides 128-bit collision security.
Go deeper:
Collision resistance (Wikipedia) — the formal implication between strong and weak (second-preimage) resistance.