|
Collision resistance is a property of cryptographic hash functions: a hash function is collision resistant if it is hard to find two inputs that hash to the same output (that is, two inputs a and b such that H(a) = H(b)). Every hash function with more inputs than outputs will necessarily have collisions. Consider a hash function such as SHA256 that produces 256 bits of output from an arbitrarily large input. Since it must generate one of 2256 outputs for each member of a much larger set of inputs, the pigeonhole principle guarantees that some inputs will hash to the same output. Collision resistance doesn't mean that no collisions exist; simply that they are hard to find. The birthday "paradox" places an upper bound on collision resistance: if a hash function produces N bits of output, an attacker can find a collision (on average) by performing "only" 2N / 2 hash operations until two outputs happen to match. If there is an easier method than this brute force attack, it is typically considered a flaw in the hash function. Cryptographic hash functions in general use today are designed to be collision resistant, but none is absolutely so. MD5 and SHA-1 in particular both have published techniques more efficient than brute force for finding collisions. RationaleCollision resistance is desirable for several reasons.
See also |
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net