ABSTRACT

This chapter begins with the introduction of the hash functions that take inputs of arbitrary length and compress them into short, fixed-length outputs. The properties of the hash function, that is, collision resistance and weaker notions like the second pre-image and the pre-image resistance are discussed along with the candidate solution to these problems. Hash functions are simply functions that take inputs of arbitrary length and compress them into short, fixed-length outputs. The cryptographic hash functions used in the real world are collision resistant for all practical purposes since colliding pairs are unknown even though they must exist. It is to be noted that collision resistance is the strongest notion, and second preimage resistance and preimage resistance comes next in order. Any hash function that is collision resistant is also second preimage resistant. Likewise, any hash function that is second preimage resistant is also preimage resistant.