I'm currently working on a PhD thesis on the cryptanalysis and design of hash functions. A cryptographical hash function generates a unique “fingerprint” of a computer file. Usually MD5 or SHA-1 are used for this purpose. Recent attacks, however, show that among others, MD5 and SHA-1 exhibit major weaknesses, which allow the creation of two files with the same “fingerprint”. For this reason, NIST started a competition for SHA-3, a new hash function standard.