Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110218174826.GA31700@openwall.com>
Date: Fri, 18 Feb 2011 20:48:26 +0300
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: MD5 Generic improvements

Erik, Jim -

On Fri, Feb 18, 2011 at 08:46:51AM -0500, Erik Winkler wrote:
> Does this mean we need to apply the intrinsic patch from the Wiki separately or not?

To make use of what Jim describes in the text you quoted below, yes.
But it does not apply cleanly - some minor merging is required.

Here's a summary (my current understanding):

1.7.6-jumbo-12 without any patches will only use SSE2 (or MMX) in the
raw and "generic" MD5 code in 32-bit builds.  When built for x86-64, it
uses pure C code (no assembly, no intrinsics) for these hash types, so
it does not use SSE2 (nor MMX) for them.

john-1.7.6-jumbo-12-early-release-md5-gen-1 is similar in this respect.

However, if you apply john-1.7.6-jumbo6-intrinsics-2 along with
john-1.7.6-jumbo-12-early-release-md5-gen-1, then x86-64 builds will
also make use of SSE2 (with intrinsics) for raw and "generic" MD5.

Erik - if you're thinking of what patches to apply in builds that you'll
make available for others to use, then my advice is that you make builds
of clean john-1.7.6-jumbo-12 with no patches.  You may also make builds
of john-1.7.6-jumbo-12-early-release-md5-gen-1 and/or of it plus the
intrinsics patch, which will be nice and useful at least for testing of
this new code, as well as to give better performance to those who prefer
running cutting-edge code.

Jim wrote:
> > 1.       Incorporation of SSE2 intrinsic code.  This is triggered by the
> > MD5_PARA #define.  For this code to 'work', the SSE intrinsic patch will
> > need to be installed, and for most performance gains, the ICC will need to
> > be used as the compiling environment.  NOTE, this intrinsic code is
> > 'pre-patched' in.  It is not part OF the intrinsic patch, but it will not
> > compile in UNTIL the intrinsic patch code is put in.  The intrinsic patch is
> > also found on the wiki 'patches' page.

Thanks,

Alexander

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.