Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 1 Apr 2012 20:57:00 +0530
From: SAYANTAN DATTA <std2048@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: JtR: GPU for slow hashes

On Sun, Apr 1, 2012 at 3:37 PM, Solar Designer <solar@...nwall.com> wrote:

> On Sun, Apr 01, 2012 at 03:10:30PM +0530, SAYANTAN DATTA wrote:
> > Is there any documentation regarding the functioning of JtR format and
> its
> > associated methods as a whole?
>
> Not much.  Please take a look at the comments in formats.h, and you may
> review dummy.c as a sample.
>
> > Because I am unable to clearly understand how
> > each function shall be invoked during a test and during actual cracking.
>
> While this is definitely related to what you're doing, please note that
> you're not supposed to be invoking these functions - you merely provide
> them to be invoked by the existing JtR code.  As long as your functions
> meet the expectations (see formats.h), you should be fine.
>
> > Adding to the complexity I have only implemented the PBKDF2 step on GPU
> and
> > the rest of the steps are meant to run on CPU as you suggested.So when
> the
> > crypt_all() method is invoked do you want to benchmark only the PBKDF2
> step
> > or the MSCash2 as a whole.
>
> The latter.  It is already done this way for Lukas' CUDA implementation.
> So you may reuse the existing on-CPU portions from there.
>
> > Benching the whole MSCash2 will/should be
> > inherently slower since only the PBKDF2 step will be run in parallel.
>
> This slowdown should be very small.  Let's assume that your GPU code
> is somehow 100 times faster than the CPU code.  You perform one
> iteration on CPU followed by 10240 iterations on GPU.  Of course, on
> GPU you also process many hashes in parallel, but the 100x speedup
> figure that we're using here already has that rolled into it.  The
> portion of code that you run on CPU thus corresponds to about 1% of
> total running time per crypt_all() call.
>
> Alexander
>

Hi Alexander,

I was looking at the cuda_mscash2_fmt.cl code but was unable to understand
the use of int binary_hash_x(void *binary) and the int get_hash_x(int
index) functions properly.
More specifically why are there so many functions for each of the above
type in the cuda code.
  It would be very helpful if you could give an example use of the above
two functions.

Regards,
Sayantan

Content of type "text/html" skipped

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.