Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 23 Sep 2008 20:46:55 +0200
From: Simon Marechal <>
Subject: Re: quite fast MD5 hashing implementation

Simon Marechal wrote:
> It is a lot faster than everything I previously saw. I suppose he 
> achieves this speed by:
> * reversing the last round
> * working a lot on instruction/register scheduling
> Are there more clues on the russian part of the site?

I had a very quick response from the author. He indeed uses the 
reversing trick, and uses SSE intrinsics + ICC. It seems that what he 
did has been very polished, as a naive test from me, reproducing his 
techniques, only achieved 12M pwd/s on a single core while he achieves 15M.

PS: for those who don't know what the reversing trick is, it has been 
discussed on this ML and can be seen in Alain Espinosa's NT patch 
(present in jumbo patch).

PPS: compiling john with ICC can yield to nice speedups on some hashes, 
such as the NT cipher. I suppose that generating "generic" assembly code 
might now be done by just using ICC : the register and instruction 
scheduling might be closer to optimal than what a human could achieve. 
While I was aware that the SSE implementation I wrote was naive and not 
optimal, I didn't believe it sucked so much :)

To unsubscribe, e-mail and reply
to the automated confirmation request that will be sent to you.

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.