Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 26 Apr 2013 11:35:02 +0200
From: magnum <>
Subject: Re: SSE2 development (was: ICC performance regression)

On 25 Apr, 2013, at 22:40 , jfoug <> wrote:
> The gcc build is much bigger.  But having a working icc environment, I will
> look at carrying forward.  Now that I can build and test, I will look at
> some of the changes we had talked about offline.  Providing a 'usual'
> interlaced input/output interface.  Providing a flat 'scalar' interface.
> Possibly even providing a multi-input CTX like interface.  However, as we
> have seen from experience, it usually works out that a huge amount of gain,
> comes from the calling format, doing a fast job of input/output buffer
> handling, and letting the crypt code, just perform the crypt on 1 (para)
> block of prepared data.
> But I can do a lot better, having an environment myself, for doing the
> builds.  Last time I looked at making any mods, when we reduced the temp
> buffers in SHA1, I did not have a icc (or current linux x64) build
> environment.  I have those now, so can do a lot more playing around with
> that file, and now work to get sha2 functions added also.

That would be excellent. Another related thing that is lagging behind is our shared pbkdf2-hmac functions. You already added SSE2 support to WPAPSK so complete code for pbkdf2-hmac-sha1 already exist. If this code is copied to pbkdf2_hmac_sha1.h (or perhaps sse-intrinsics.c?) it can be reused in *nine* formats or so, that currently use Lukas' pbkdf2 but doesn't use SSE2. The only hard part is figuring out a clever interface so the calling formats' code is kept as simple as possible (ie. diverting code paths for -any vs. -sse2).

When we get shared raw digest functions from Gosney's code, the same applies to pbkdf2-hmac-sha256 and pbkdf2-hmac-sha512. We already have a bunch of formats using this (latest being aix-ssha) but only using OpenSSL. And these functions will probably be used by *many* future formats.


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.