For instance, what makes MD4 a bad choice for an HMAC?  In this case I am asking about MD4 because its less than ideal.  I know that a preimage attack can be used to undermine the system,  but why?  What is the attacker calculating?