Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 25 Nov 2018 01:23:48 +0100
From: magnum <john.magnum@...hmail.com>
To: john-users@...ts.openwall.com
Subject: Re: Chunk of work specification

On 2018-11-24 10:02, Vojtěch Večeřa wrote:> To the point: I'd like to 
make a wrapper around JtR which would allow me to
 > control the starting position and the size of the chunk. The aim is 
to use
 > the wrapper in some distributed system. Now the question is, are 
there some
 > options to do this? I'm in of something similar to Hashcat's --skip 
and --
 > limit. I know that JtR has --node parameter but it doesn't seem too
 > intuitive nor precise when it comes to the exact sizes of chunks. I 
want to
 > use some dynamic scheduling algorithms. So that I can control for how 
long
 > will the machine be in use. The algorithm will then create the chunk 
of such
 > a size that given machine will compute it in given time, let's say a
 > minute).
Each mode is pretty much unique in how they can or can't divide the 
keyspace but theoretically the KISS solution would be to use eg. 
--node=n/100000 which would split the job in 100,000 chunks and *n* 
could be eg. 123 (for 123rd chunk) or (for a 20x faster machine) eg. 
400-419 (for 20 chunks starting at 400). Just think "chunks" instead of 
"nodes". You could use even larger numbers like --node=n/1000000. 
Personally I think the hashcat way is more cumbersome.

In real life however, some of the modes would perform very poorly and/or 
divide the keyspace very unevenly with such large node numbers, if they 
can handle it at all. Feel free to experiment with this (comparing 
speeds and so on) and report back.

I just tried this with mask mode (using -node=1234/1000000 and it seems 
to work just fine and with no performance penalty. It's a known 
limitation with incremental mode that it wont work well using large node 
numbers though. YMMV with other modes.

 > I guess I could abuse session file for specification of the starting 
point
Again, all modes are very different. If you figure out how to do this 
with "fake" session files for one mode, you'd need to begin from scratch 
when trying to support another mode.

 > So is there some way how to achieve what I need using John? Or is it even
 > possible to add these tiny things to John? Is the generator build the way
 > that this would be possible implement? I could try to do it myself I just
 > need some info whether it is worth the time or whether I'd have to 
rewrite
 > half of the John to make it work.
There is no "the" generator. There is one for incremental, a wholly 
different one for mask and so on.

magnum

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.