Wouldn't this imply that all hash functions (other than one-to-one mappings) must have collisions?
Why does the pigeonhole principle hold?
Why does the pigeonhole principle hold?
Suppose you have 3 holes, and 4 pigeons, and you stuff the pigeons into holes. There must be 1 hole with at least 2 pigeons, right?
The same is true with hash functions. If you're hashing data down to a fixed length, like say 256-bits with sha-256, and the data is longer than 256 bits, there must be a collision somewhere.
Yes, they do. Finding them is the hard part.