Jump to content

Cryptographic hash function

From Rosetta Code

A cryptographic hash function, also known as a collision resistant hash function, maps a message (of any length) to a digest (of a fixed length), and has the following three properties:[1][2]

  • Preimage resistance. It is too difficult to invert the function and find an original message from its digest.
  • Second preimage resistance. It is too difficult to change the message without also changing its digest.
  • Collision resistance. It is too difficult to find any two messages with the same digest.

With many algorithms, the message is a string of octets, and the digest has a fixed number of bits. For example, SHA-256 always computes a 256-bit digest. One can write this digest in hexadecimal.

Though algorithms like MD4 define digest for message of any bit length, many actual implementations assume that the bit length is a multiple of 8.

Algorithms

SHA-256 is the recommended stronger alternative to SHA-1 and RIPEMD-160, which in turn are stronger than MD5, which in turn is stronger than MD4.

References

Cookies help us deliver our services. By using our services, you agree to our use of cookies.