|
Message-ID: <8525c5336cd1c41c37fe03a0d78ad80d@smtp.hushmail.com> Date: Tue, 30 Sep 2014 00:43:40 +0200 From: magnum <john.magnum@...hmail.com> To: john-dev@...ts.openwall.com 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). 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.