Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 30 Jun 2006 22:41:07 +0400
From: Solar Designer <>
Subject: Re: intel c++ compiler and john

On Fri, Jun 30, 2006 at 02:45:10AM +0300, Ali Polatel wrote:
> I saw it was optimized when I compared john --test results of
> my old john and the new one compiled with icc.

Would you share your benchmark results with john-users?  What
architecture were you compiling for?  I am guessing that it is either
x86 or x86-64.

There should be no speedup from the use of another/better C compiler for
DES-based crypt(3) hashes because the MMX/SSE2 assembly code currently
in John is optimized beyond the abilities of current C compilers.  When
compiling for x86-64, you may obtain roughly the same performance with
plain C code on current Intel processors, though.

For MD5- and Blowfish-based crypt(3), there might be a little room for
improvement since the current x86 assembly code for those is limited to
plain x86 and these algorithms don't require too many registers - so C
compilers are likely to generate comparable code, but choosing and
scheduling x86 instructions as appropriate for your specified CPU type.
The speedup, if any, shouldn't be substantial, though.

For other hash types, there's more room for improvement since their
implementations are not so optimal and since they use more C code.

> I wonder if any of you have tried to do this too.

I did not care to do it.  As I have just explained, the implementations
for some hashes are already nearly optimal regardless of C compiler and
others are better optimized by further work on their source code rather
than by picking another C compiler.


This one is not an optimization and this setting is wrong for current
versions of John.

Alexander Peslyak <solar at>
GPG key ID: B35D3598  fp: 6429 0D7E F130 C13E C929  6447 73C3 A290 B35D 3598 - bringing security into open computing environments

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.