Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 30 Sep 2014 00:43:40 +0200
From: magnum <>
Subject: Re: Restart work on mask mode

On 2014-09-28 05:31, Sayantan Datta wrote:
> I think we should follow the external mode technique with this one. In all
> modes incremental or wordlist  we should have:
> if (do_mask_crack(word))
>    if (external_filter(word)) // not executed when mask is active
>        crk_process_key(); // not executed when mask is active
> The do_mask_crack() will return null when a mask is active and call
> crk_process_key() from within. This process necessitates splitting mask
> mode into three separate functions:
> init_mask(char *mask, db_main *db) - initialize mask
> do_ mask_crack() - generates the keys and calls external_filter() and
> crk_process_keys().
> exit_mask() - for cleanup.
> The init_mask() and exit_mask() function should be called during entry(just
> after initializing db_main, preferably after initializing a format because
> we might need some input from the format parameters as well for GPU
> cracking.) and exit from john respectively.
> When only mask mode is working, the do_mask_crack() would be used as usual
> with a NULL in the argument. However when other modes are active,
> do_mask_crack() is called within those modes.

Note that we need to decide how/when to distribute work when using 
stacked modes together with node/fork/MPI. Unless we change the other 
modes, they will distribute so mask mode must not. But when using mask 
mode alone, it has to distribute work like it does now (ideally a lot 
more effective than now though, there's an issue for that).


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.