Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 24 Jun 2013 01:40:01 +0530
From: Sayantan Datta <>
Subject: Re: Sayantan's weekly report #2

On Monday 24 June 2013 01:26 AM, Solar Designer wrote:
> On Mon, Jun 24, 2013 at 01:14:33AM +0530, Sayantan Datta wrote:
>> On Monday 24 June 2013 01:06 AM, Solar Designer wrote:
>>> Also, I think we should include an optimization in some/all kernels,
>>> where a consecutive range of ASCII codes (and beyond, for 8-bit chars)
>>> would be specified.  Thus, there would be two ways to pass a charset
>>> spec for a char position into the kernel: either list of chars (need one
>>> byte per char), or range of chars (two bytes to specify the entire range).
>> Yes indeed. This would no longer require looking into local memory.
> Right.
>> We
>> can increase 32 chars per range to 48 - 64 chars. Would that be sufficient ?
> I think for the lists of chars (not consecutive ranges), it'd be sort of
> OK to have the max at 62 chars (or you can make it 64 if it's same cost),
> and the number of ranges at max 3.
>> one example:
> Thanks!
>> sayantan@...n:~/JohnTheRipper/run$ ./john
>> --mask='[1234567m]?l?l?l[123a4567]?l[12345o67][1234567o]'
>> -format=descrypt-opencl testsingle
>> Device 0: Tahiti (AMD Radeon HD 7900 Series)
>> Loaded 1 password hash (descrypt-opencl, traditional crypt(3) [DES OpenCL])
>> Press 'q' or Ctrl-C to abort, almost any other key for status
>> missadoo         (u16-DES)
>> 1g 0:00:00:11 0.08583g/s 16876p/s 540039c/s 540039C/s 1iss1doo..MAXLENGT
>> Use the "--show" option to display all of the cracked passwords reliably
>> Session completed
>> In this case range 0,4,6,7 is computed on GPU. Also the reported c/s is
>> 4096/32 = 128x slower.
> You aren't properly updating *pcount yet?  Where do the numbers 4096 and
> 32 come from?  (I can try to guess, but I might as well guess wrong.)

The requested key count is 4096(hardcoded in descrypt for now) and 32 is 
no. of keys per iteration. So total no of iteration is 128 inside the 
kernel. Besides the detector will detect the best match to the requested 
key count, hence range 0, 4 ,6 ,7 is chosen.  If exact match is not 
found the closest set of ranges will be used. If we use a mask say 
'?l?l?l?l?l?l?l?d' then range 0,1,7 will be used meaning 6760 keys will 
be generated inside the kernel. i.e 6760/32 + 1 = 212 iterations inside 
the kernel.


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.