Cryptology is typically defined as cryptography (the construction
of cryptographic algorithms) and cryptanalysis (attacks on these
algorithms). Both are important, but the latter is more fun.
Cryptographic hash functions are one of the core building blocks
within both security protocols and other application domains. In
the last few decades a wealth of these functions have been
developed, but the two in most widespread usage are MD5 and SHA1.
Recently, there has been a great deal of activity regarding the
cryptanalysis of MD5. We survey the recent attacks on the MD5 hash
function from the modest progress in the mid 90s to the startling
recent results instigated by Xiaoyun Wang. We will look at the
details of these attacks, some recent improvements, two
applications, and discuss the current outlook on cryptographic
hashing.