Date: Wed, 08 Feb 2012 11:26:53 +0100
From: Simon Marechal <simon@...quise.net>
To: john-dev@...ts.openwall.com
Subject: Re: cryptmd5 optimizations
On 08/02/2012 01:19, Lukas Odzioba wrote:
> I am trying to optimize opencl and cuda cryptmd5 code, and I got to
> dead end from my perspective. I want to understand what optimizations
> were done in MD5_std.c, but so many #ifdef's are distracting me. From
> Alex i know that MD5_X2 should be off. My question is what else
> "flags" should be on/off (and what they mean) to make code easier to
> understand?
I suggest looking for the md5cryptsse function in sse-intrinsics.c. It
will probably look a lot more GPU friendly to start with. It starts by
preparing buffers for the 8 cases, computes the base fingerprints with
the "slow" md5 function, then runs into "dispatch", where you should be
able to see the logic.