Cryptographic hash functions are one of the most important tools used in the design of efficient cryptographic protocols such as digital signatures that enable secure communications over the Internet. Cryptographic protocols are often proved secure assuming that the underlying hash functions are secure. Ever since the hash function SHA-1 has been adopted as the Federal Information Processing Standard (FIPS) by the NIST, U.S, it has been deployed in many provably secure cryptographic protocols.
Security vulnerabilities that are exposed in SHA-1 and other standard hash functions have dramatically reduced our confidence in using current hash functions as secure mechanisms in the cryptographic protocols. In search of a secure hash function, NIST, U.S, initiated a global competition in 2007 to select a new hash function by 2012 which will be referred to as SHA-3. Many popular hash function constructions and those submitted to the SHA-3 competition are based on block ciphers.
The goal of this research project is to carry out formal as well as concrete analysis of hash functions based on block ciphers thereby contributing to the understanding of the theory of hash functions and selection of SHA-3. This analysis will strengthen our confidence in proving the security of cryptographic protocols and later implement them using hash functions whose security is known.