Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sat, 19 Nov 2011 18:09:39 -0600
From: "JimF" <jfoug@....net>
To: <john-dev@...ts.openwall.com>
Subject: Re: hmacMD5 and sse-intrisics.c  (Bartavelle, please look at this).

From: "magnum" <john.magnum@...hmail.com>
 
> I think I spotted the answer myself. Within MD5_Update, if the new
> length is 64 or longer, body() will be called, right? In the above
> example this is always true, which explains it all.
> 
> Could we add SSExxxUpdate() for intrinsics too without too much hassle?
> I have a feeling it could be of great benefit for some salted formats as
> we get rid of stuff in the inner loop (see hmac_md5 patch 30 for an
> example).

We probably could 'create' a CTX version of the SSE.  The problem is it will likely never be as fast as hand coded, since we have to properly interleave. Thus, we can not simply memcpy values, and use them 'as is'.  Also, due to usually working with multiple candidates at the same time, and usually using the interleaved MMX_COEF buffer to later retrieve data, we would lose a lot, in a CTX type.

I am not exactly sure what you mean by "Could we add SSExxxUpdate() for intrinsics", other than trying to mimic a CTX type update.

Jim

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.