According to the version of FIPS 180 available back in 2005, [SHA-1 has an input length limitation][1], which means there are not an infinite number of messages that are valid SHA-1 inputs to begin with. The reason for this constraint is the padding contains a fixed length input bit length field. Older algorithm of a similar design, such as [MD5][2], also have fixed length input bit length fields in their padding, but no input length limitations. These hashes consequently have a theoretically infinite number of valid inputs. Some newer algorithms, such as [SHA-3][3], do not have fixed length input bit length fields in their padding, and consequently do not have any input length limitation. [1]: http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf#page=20 [2]: https://tools.ietf.org/html/rfc1321 [3]: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf#page=30