Hash function is a
one way mapping, typically from an an infinite set to a finite set.
Hash functions are deterministic functions. All hash functions are
not suitable for cryptographic applications, hence we have a set of
functions called Cryptographic Hash functions which posses certain
properties which makes in suitable for cryptographic applications.
For explaining the properties, Consider an infinite set A such
that a is a member of A . The elements of set A are
mapped to a finite set B.
Let the mapping be represented by function h(). According to
Pigeonhole principle, it is clear that more than one element of A
is mapped to a unique element in B. Be it
the case we design a computationally secure hash function with
following properties.
-
Collision resistance: It is computationally infeasible to find two elements such that both are having same hash value. That is to find a1,a2 such that h(a1)=h(a2)
-
Pre-image Resistance: Given a hash value, it is computationally infeasible to find corresponding element from set A. Let b be element of B, then it is infeasible to find a such that b=h(a)
-
Second-Preimage resistance: Given a pair (a1,b) such that h(a1)=b, it is computationally infeasible to find a2 such that h(a1)=b=h(a2)
-
Pseudorandomness: For a single bit change in the input, the hash value should change significantly
Some of the applications of cryptographic hash functions are listed below
- Digital Signatures
- Password storage
- Malware analysis (using signature of malware)
- Data Integrity Check
No comments:
Post a Comment