Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150524154409.GA31704@openwall.com>
Date: Sun, 24 May 2015 18:44:09 +0300
From: Aleksey Cherepanov <lyosha@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: interleaving in SHA256 & SHA512

On Sat, May 23, 2015 at 02:27:47PM +0300, Aleksey Cherepanov wrote:
> On Sat, May 23, 2015 at 10:55:38AM +0800, Lei Zhang wrote:
> > I managed to add interleaving to SHA256 & SHA512, but the work is incomplete yet. When the interleaving factor is set other than 1, SHA256 works with a few formats, and SHA512 only works with sapH currently. Below are some statistics obtained from experimenting various interleaving factors:
> 
> I am trying interleave in john-devkit on raw-sha512 with sse.

I should admit that my interleave is bad. I tried it against md5 with
bad results. Not using of temporary variables is my main suspect
because I saw the following in sse-intrinsics.c :

#if 0 // For some reason this ends up slower, even using another tmp
#define MD5_H(x,y,z) \
	MD5_PARA_DO(i) tmp[i] = vxor(vxor((x[i]),(y[i])), (z[i]));

#define MD5_H2(x,y,z) \
	MD5_PARA_DO(i) tmp[i] = vxor((x[i]), vxor((y[i]),(z[i])));
#else
#define MD5_H(x,y,z) \
	MD5_PARA_DO(i) tmp[i] = vxor((y[i]),(z[i])); \
	MD5_PARA_DO(i) tmp[i] = vxor((tmp[i]),(x[i]));

#define MD5_H2(x,y,z) MD5_H(x,y,z)
#endif

-- 
Regards,
Aleksey Cherepanov

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.