Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Mon, 28 Jan 2013 15:03:58 +0100
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: Bug in a number of "crack array" formats

On 28 Jan, 2013, at 0:17 , Solar Designer <solar@...nwall.com> wrote:
>> 2. Always set *or reset* cracked[index] in crypt_all(). Ie. do not just set it on successfull crack but also reset it otherwise.
> 
> This may have performance impact with fast (non-)hashes and OpenMP, due
> to false sharing, which may occur due to the cracked[] elements being
> tiny and thus close together.
> 
> It may be better to memset() the entire cracked array to 0, but only if
> any_cracked was previously set.  That is, crypt_all() may start with:
> 
> 	if (any_cracked) {
> 		memset(cracked, 0, cracked_size);
> 		any_cracked = 0;
> 	}
> 
> before it proceeds with the loop and OpenMP stuff.
> 
> IIRC, it's the exact same code that is currently in set_salt() in some
> formats.  It only needs to be moved to the beginning of crypt_all(),
> because of the special case of having only one salt.

Thanks, I had missed that. All formats are now fixed, and the above is considered.

magnum

Powered by blists - more mailing lists

Your e-mail address:

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