Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20060523023141.GA20298@openwall.com>
Date: Tue, 23 May 2006 06:31:41 +0400
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: John the Ripper development

On Mon, May 22, 2006 at 01:48:02PM +0200, Joschka Sulzer wrote:
> How about adding  features like www.openmp.org describes ?

I'll start with a "generic" answer since I think you did not mean to
focus your question specifically on OpenMP.

This topic is being brought up every now and then.  People are
suggesting that I add parallel/distributed processing to John using one
of the many libraries/toolkits.  While this can be done and has been
done by others for fun or as a part of their academic career, it is not
great for practical uses of John.  You can see some bits from past
discussions here:

	http://article.gmane.org/gmane.comp.security.openwall.john.user/245
	http://article.gmane.org/gmane.comp.security.openwall.john.user/253

However, OpenMP is quite different.  It is a way to explicitly tell the
compiler what constructs may be parallelized/vectorized.  This is
reasonable and I do not rule out the possibility that I will enhance
John source code with OpenMP directives eventually, although I expect
that capable parallelizing compilers will detect parallelism in the
current bitslice DES code already - provided that DES_BS_VECTOR is set
high enough.  On "true" vector computers, this is the way to go
(although I'd imagine that vendor-specific and not OpenMP directives
would need to be used presently, if at all).

On non-vector multi-processor systems, I expect that an explicit
one-process-per-CPU model will provide better efficiency for John.  In
fact, separate CPUs might even be treated the same as separate nodes on
a network with no efficiency loss.  The task of password cracking does
not require frequent switches between sequential and parallel execution
that parallelizing compilers and OpenMP directives are great for.

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

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.