<aside> 💡 hash functions being called insecure means it is disqualified according to their security definitions. (e.g collision-resistant, constant output, prevent pre-image discovery, no length extensions)
</aside>
Collision resistance property: States that although there are infinite collisions, they cannot be found
random mapping from input values to output values.
Should be more efficient than a generic attack
Generic attack is birthday paradox, which generates collisions. BUT collisions are only relevant to certain uses
Other exploits
Ask yourself, can you get a better result from a generic attack not relying on properties of hash functions. If so, distinguisher between ideal and not is useless.
512 bit hash function → 128 bits
distinguishers limited to 128 bits