Doubt in MD5 hash algorithm
A question regarding MD5 hash algorithm.
The MD5 algo accepts an input block of any arbitrary length and outputs an output of 128 bits.
Since the output is 128 bits, only 2^128 different outputs are possible using md5.
But the number of possible input sequences are far greater than 2^128.
So, md5 is definitely a many to one function.
If that's the case, why is it so difficult to find any two bit sequences whose hash values are the same?
Given the hash value, is it definitely not possible to find some sequence which will have the same hash value as is given?