I'm trying to create an MSCache (2 times MD4) cracker. I took the RFC thingy and implemented it in a cracker which is.. fast, but not as fast as I'd like it to be. So I searched a bit and stumbled on MDCrack, which claims it can do about 10 million MD4 hashes per second on my system, while I only get 4 million per second.
Since it's open source, I downloaded the source code of an old version and studied the MD4 algorithm, and it seems to partially reverse it. However, I lack knowledge of just about everything considering hashes and was wondering if someone here could teach me one or two things as the weaknesses of these cryptographic functions, how you would create secure ones and of course how to attack one.
Thanks in advance,