Cryptographic hash functions are ubiquitous in modern cryptography. They are an integral part of digital signature and public-key encryption schemes, access control mechanisms, digital time-stamping routines, message authentication codes, and file synchronization utilities. They are implemented in point-of-sale terminals, ATM machines, operating systems, web browsers, routers, and mobile phones,mto name just a few.