Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 22 Feb 2012 03:06:17 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: Sorted format list

On Tue, Feb 21, 2012 at 08:31:56PM +0100, magnum wrote:
> Well you could use -gpu as a prefix. And actually, CUDA formats could
> use that prefix too except where they clash (currently crypt-md5 and
> phpass).

Sounds like a bad idea to me, because OpenCL is already not GPU-only and
CUDA might become non-GPU-only soon, and because of the clashes (where
we have both CUDA and OpenCL implementations of the same format), which
ideally I'd like to have more of (at least so that more formats are
usable on both NVidia and AMD cards).

> So an OpenCL build would have ssha-gpu, raw-md5-gpu, nt-gpu,
> raw-sha1-gpu, cryptmd5-gpu, phpass-gpu and mysql-sha1-gpu.
> 
> A CUDA build would have cryptmd5-gpu, phpass-gpu, cryptsha256-gpu,
> cryptsha512-gpu, mscash-gpu, mscash2-gpu, rawsha256-gpu and rawsha224-gpu.
> 
> A GPU build (ie. both) would have ssha-gpu, raw-md5-gpu, nt-gpu,
> raw-sha1-gpu, cryptmd5-gpu, cryptmd5-cuda, phpass-gpu, phpass-cuda,
> mysql-sha1-gpu, cryptsha256-gpu, cryptsha512-gpu, mscash-gpu,
> mscash2-gpu, rawsha256-gpu and rawsha224-gpu.
> 
> Maybe that would be confusing?

Yes, I'm afraid so.

> But in some ways it would be less
> confusing - the user only cares about using GPU, she won't care if it's
> CUDA or OpenCL under the hood.

Maybe, or maybe not.

How about we introduce some code to have the standard (non-GPU) format
names recognized, but turned into their GPU-enabled equivalents (most
optimal ones for the current build running on the current hardware) if
the --gpu option is passed?  For example,

john --format=md5 passwd # use CPU
john --format=md5 --gpu passwd # use any GPU if available and supported
john --format=md5 --gpu=2 passwd # use a specific GPU
john --format=cryptmd5-opencl passwd # force OpenCL even on NVidia

And yes, those md5 vs. raw-md5 vs. cryptmd5 names are inconsistent.
I am almost willing to make some change in the main JtR tree to correct
that... but I am still undecided whether the underlying crypto primitive
(such as "md5") or the algorithm on top of it (such as "crypt", even
though the meaning of this varies between them) should be listed first
(so "md5crypt" or "cryptmd5"; I think the former is more common, at
least per Google web search).

Alexander

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.