Computer >> Computer tutorials >  >> Programming >> Programming

What is Cryptographic Hash function in Information Security?


A cryptographic hash function is a numerical function used in cryptography. A cryptographic hash function integrate the message-passing capabilities of hash functions with security features.

The term hash function has been used in computer science from quite frequently and it define as a function that compresses a string of arbitrary input to a string of settled length. However if it satisfies some more requirements, thus it can be used for cryptographic applications and then it is called a Cryptographic Hash functions.

Cryptographic Hash functions are the most essential tool in the field of cryptography and are used to manage a number of security objectives such as authenticity, digital signatures, pseudo number generation, digital steganography, digital time stamping etc.

A hash function is a function that takes some message of any length as input and change it into a fixed-length output known as hash value, a message digest, a checksum, or a digital fingerprint.

A hash function is a function f: D -> R, where the domain D = {0, 1}*, which defines that the elements of the domain includes binary string of variable length; and the range R = {0, 1} n for some n >= 1, which defines that the elements of the range are binary string of fixed-length. Therefore, f is a function which creates as input a message M of any size and create a fixed-length hash result h of size n.

A hash function f is defined as compression function when its domain D is finite, i.e. if the function f takes as input a fixed-length message and creates a shorter fixed-length output.

Property of Cryptographic hash function

There are various properties of hash function are as follows −

  • It is intensely simply to calculate a hash for any given data.

  • It should accept a block of information of any size as input.

  • It should make a fixed-length output.

  • It should behave like random function while being deterministic and efficiently reproducible.

  • It should get an input of any length, and outputs a random string of fixed length.

  • For the similar input, H should continually make the same output.

  • If the message M is given, it can be simply to calculate its corresponding digest h; where h can be calculated in polynomial time O(n) where n is the length of the input message.

  • Given a message digest h, it is computationally complex to discover M such that H (M) = h. This is known as the one-way or pre-image resistance property i.e. It is not applicable to find message from the given hash value.

  • Given a message M1, it is computationally impossible to discover another message M2 ≠ M1 with H (M1) = H (M2). This is known as the weak collision resistance or second pre-image resistance feature.

  • It is computationally impossible to find any set of distinct messages (M1, M2) such that H (M1) = H (M2). This is defined as the strong collision resistance property.