The Cryptographic hash function reference article from the English Wikipedia on 24-Apr-2004
(provided by Fixed Reference: snapshots of Wikipedia from wikipedia.org)

Cryptographic hash function

In cryptography, a cryptographic hash function is a hash function with certain additional security properties. A hash function takes a long string (or message) as input and produces a "digest" of that message. Loosely speaking, the security properties are intended to ensure that the digest looks "random" and does not leak any information about the message itself, and that other messages can not be found that produce the same digest. Note that checksums (and CRCs) are quite distinct from cryptographic hash functions in application and are not interchangeable.

Mathematically, a cryptographic hash function is a hash function that is:

Sometimes the function is also required to be: A typical use of a crytographic hash would be as follows: Alice poses to Bob a tough math problem and claims she has solved it. Bob would like to try it himself, but would yet like to be sure that Alice is not bluffing. Therefore, Alice writes down her solution, computes its hash and tells Bob the hash value (whilst keeping the solution secret). This way, when Bob comes up with the solution himself a few days later, Alice can verify his solution but still be able to prove that she had the solution earlier.

In practice, of course, Alice and Bob would be computer programs, and the secret would be something less frivolous. In cryptography, the above application is called timestamping. The other important application of secure hashes is verification of message integrity.

SHA-1 and MD5 are the most commonly used cryptographic hash functions.

List of cryptographic hash functions

MD5, RIPEMD-160, SHA, Snefru, Tiger

See also