This article terrahash bitcoin wiki additional citations for verification. This is the so-called avalanche effect. A cryptographic hash function is a special class of hash function that has certain properties which make it suitable for use in cryptography. Most cryptographic hash functions are designed to take a string of any length as input and produce a fixed-length hash value.
A cryptographic hash function must be able to withstand all known types of cryptanalytic attack. This concept is related to that of a one-way function. Functions that lack this property are vulnerable to preimage attacks. Functions that lack this property are vulnerable to second-preimage attacks. Such a pair is called a cryptographic hash collision.
This property is sometimes referred to as strong collision resistance. Collision resistance implies second pre-image resistance, but does not imply pre-image resistance. Informally, these properties mean that a malicious adversary cannot replace or modify the input data without changing its digest. Thus, if two strings have the same digest, one can be very confident that they are identical. Second pre-image resistance prevents an attacker from crafting a document with the same hash as a document the attacker cannot control. A function meeting these criteria may still have undesirable properties. This property can be used to break naive authentication schemes based on hash functions.
The HMAC construction works around these problems. In practice, collision resistance is insufficient for many practical uses. Checksum algorithms, such as CRC32 and other cyclic redundancy checks, are designed to meet much weaker requirements, and are generally unsuitable as cryptographic hash functions. In cryptographic practice, “difficult” generally means “almost certainly beyond the reach of any adversary who must be prevented from breaking the system for as long as the security of the system is deemed important”. The meaning of the term is therefore somewhat dependent on the application since the effort that a malicious agent may put into the task is usually proportional to his expected gain.