List and explain characteristics needed in secure hash function.
Properties/ characteristics of hash functions
To be a reliable cryptographic tool, the hash function should have the following charactersitcs −
Pre-Image Resistance
- According to this feature, reversing a hash function should be computationally difficult.
- In other words, if a hash function h generates a hash value z, it should be difficult to identify an input value x that hashes to z.
- This feature defends against an attacker attempting to locate the input with just the hash value.
Second Pre-Image Resistance
- This property says that given an input and its hash, it should be difficult to find another input with the same hash.
- In other words, it should be challenging to find another input value y such that h(y) equals h(x) if a hash function h for an input x returns the hash value h(x).
- This feature of the hash function protects against an attacker who wants to replace a new value for the original input value and hash, but only holds the input value and its hash.
Collision Resistance
- This feature says that it should be difficult to identify two different inputs of any length that produce the same hash. This characteristic is also known as a collision-free hash function.
- In other words, for a hash function h, it is difficult to identify two distinct inputs x and y such that h(x)=h(y).
- A hash function cannot be free of collisions because it is a compression function with a set hash length. The collision-free condition simply indicates that these collisions should be difficult to locate.
- This characteristic makes it very hard for an attacker to identify two input values that have the same hash.
- Furthermore, a hash function is second pre-image resistant if it is collision-resistant.
Efficiency of Operation
- Computation of h(x) for any hash function h given input x can be an easy process.
- Hash functions are computationally considerably faster than symmetric encryption.
Fixed Output Size
Hashing generates an output of a specific length, regardless of the input size, and helps to make an output of the same size from different input sizes.
Deterministic
For a given input, the hash function consistently produces the same output, like a recipe that always yields the same dish when followed precisely.
Fast Computation
Hashing operations occur rapidly, even for large amounts of data sets.
Reference : https://www.tutorialspoint.com/cryptography/cryptography_hash_functions.htm
[…] List and explain characteristics needed in secure hash function. […]