Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 9 Nov 2016 23:36:27 +0100
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: alter default rules or filter, best way to focus on proper candidates?

On Wed, Nov 09, 2016 at 11:18:33PM +0100, Patrick Proniewski wrote:
> I'm quite surprised by the relative slowness of "--external=Filter_LowerNum" alone: 1min more than "--external=Filter_LowerNum --max-length=10".
> The shortest is "--max-length=10", followed by "--external=Filter_LowerNum --max-length=10", then vanilla, and the longest is "--external=Filter_LowerNum" alone.
> The fastest is vanilla with 90635GC/s, followed by "--max-length=10" (42% slower), then "--external=Filter_LowerNum". And the slowest is "--external=Filter_LowerNum --max-length=10" achieving about 26% of vanilla's performance.

None of this is surprising.  As you add filters, performance drops.
As you can see, the total running time may also drop, so filters may
nevertheless be beneficial if you're sure none of those extra candidates
would result in a successful guess, but you can rarely be sure.

Filter_LowerNum is unoptimized.  It was meant for use when generating
.chr files only - a task that isn't nearly as performance-critical.

You should be able to achieve slightly better speeds with the Policy
external mode instead.  To make it work similar to Filter_LowerNum,
delete these lines from it:

        c = 'A';
        while (c <= 'Z')
                mask[c++] = 2;

(that is, exclude uppercase letters from those allowed by policy) and
adjust the expected mask from 0x107 to 0x105 here:

        if (seen != 0x107 || i != 8)

Oh, and also exclude the "i != 8" check (this is a length check).

I didn't test these changes.

Once again, for fast hashes like yours I would not recommend any
filtering, whether optimized or not.

Alexander

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.