Cryptographic Hash Function

A method of encoding inputs to create unique outputs, especially for creating digital fingerprints.

A cryptographic hash function may sound complicated but it boils down to being a mathematical function used in cryptography to keep funds safe.

Normal hash functions take inputs of different lengths and return outputs of a fixed length.

A cryptographic hash function combines two things: message-passing capabilities of hash functions and certain security properties.

Hash functions are commonly used in computing systems. These functions check the integrity of messages and authenticate information using cryptographic math. 

Keep in mind that some consider these hashes cryptographically "weak" because they can be solved in polynomial time by the rise of quantum computers.

Cryptographic hash functions make it more difficult to understand the contents of a message. They also help obscure information about recipients and senders on the network.

Cryptographic hash functions exhibit three properties:

  1. “collision-free.” No two input hashes should map to the same output hash. 
  2. They can be hidden. Guessing the input value for a hash function from its output should be very difficult.
  3. They should be puzzle-friendly. By selecting an input from a distribution that's as wide as possible, the input should be difficult to select from a predefined output. . 

Cryptographic hash functions with these three properties are often in cryptocurrencies to pass transaction information as anonymously as possible. 

Take bitcoin, the original and largest cryptocurrency. It uses the SHA-256 cryptographic hash function in its algorithm. This gives Bitcoin a level of encryption that could only be broken by highly advanced quantum computers that do not yet exist -- and may not exist for quite some time.

Chances are you’ve already benefited from such hash functions:

  1. Password Verification
    Nearly all sites store your passwords as hashes rather than as plain passwords. When you input your password, it is hashed and the result is compared to the list of hashed values stored on the company's servers. 
     
  2. Signature Generation and Verification
    Verifying signatures is a mathematical process. The authenticity of digital documents or messages requires a valid digital signature where the receiver has strong proof that the message was created by a known sender and that the message was not altered in transit. 
     
  3. Verifying File and Message Integrity
    Hashes can be used to make sure messages transmitted between sender and receiver are not tampered with during transit, such as being read or altered. 

Ideally, it should be impossible for an attacker to be able to learn anything useful about a message from its hash values. That’s why in the two most commonly used hash functions are MD5 and SHA-1.

Progress, as always, is ongoing and in 2007 the National Institute of Standards and Technology started a contest to design a hash function named SHA-3 and be the subject of a FIPS standard.