DEFINITION of Cryptographic Hash Functions
A cryptographic hash function is a mathematical function used in cryptography. Typical hash functions take inputs of variable length to return outputs of fixed length. A cryptographic hash function combines the message-passing capabilities of hash functions with security properties.
BREAKING DOWN Cryptographic Hash Functions
Hash functions are commonly-used data structures in computing systems for tasks, such as checking integrity of messages and authenticating information. But they are considered cryptographically weak. Cryptographic hash functions add security features to typical hash functions, thereby making it difficult to detect the contents of a message or information about recipients and senders.
In particular, cryptographic hash functions exhibit three properties
- They are “collision-free.” In simple words, no two input hashes should map to the same output hash.
- They can be hidden. In simple words, it should be difficult to guess the input value for a hash function from its output.
- They should be puzzle-friendly. That is to say, it should be difficult to select an input that provides a pre-defined output. Thus, the input should be selected from a distribution that is as wide as possible.
The three properties outlined above are desirable but they cannot always be implemented in practice. For example, the disparity in sample spaces for input hashes and outputs ensures that collisions are possible. An example of this was demonstrated recently when the MIT Digital Currency Initiative found collision vulnerability in IOTA.
Cryptographic hash functions are widely used in cryptocurrencies to pass transaction information anonymously. For example, bitcoin, the original and largest cryptocurrency, uses the SHA-256 cryptographic hash function in its algorithm. Similarly, IOTA, a platform for the Internet of Things, has its cryptographic hash function known as Curl.