Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 28 Sep 2014 00:12:45 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: Restart work on mask mode

On 2014-09-27 04:42, Sayantan Datta wrote:
> Before moving on to GPU stuffs, we should add support for wordlist + mask
> mode. However, I have doubts regarding how to proceed with this. How would
> we like our hybrid mode to work?
>
> like ?d?d?w?a?a?w where 'w' are the word from two wrodlists.
> or something like -mask=?a?a -pos=N, where the mask would be inserted at
> the Nth position in the word.

Both approaches are very powerful. Maybe start with ?w.

> Are we also planning to support any other hybrid modes? If yes, is it
> sufficient to create an interface where we could just plug in the words
> from other modes in a way discussed above. Should we focus on creating a
> functions like plug_in_words_into_mask()?

I hope Solar will chime in here with ideas. Adding mask as an "always 
available extra", just like External filters, would be cool but I'm not 
sure how to accomplish that without losing performance, or what options 
to use to control it.

Just thinking out loud:
1. wordlist sees we have a mask so it sends the candidate to mask.c 
instead of crk_process_key()
2. mask.c use that word with some mask eg. ?d?d?d?d?w (exhausting the 
mask). So it's mask mode who actually calls crk_process_key (many times 
per word)

or

1. wordlist delivers a word to crk_process_key() (like it always did)
2. crk_process_key() calls mask mode to process more keys with that base 
word

The second approach is more open for use by other modes than wordlist. 
But how would a "mask-mode only" run work?

This makes me wonder why external mode does not work the same: Why isn't 
crk_process_key calling ext_filter(), instead of all modes doing it?

magnum

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ