Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 5 Aug 2011 05:19:34 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: SALT_SIZE

On Fri, Aug 05, 2011 at 02:36:44AM +0200, Lukas Odzioba wrote:
> $5$salt(up to 16chars)$ciphertext
> or
> $5$rounds=(1000-999999999)$salt(up to 16chars)$ciphertext
> 
> It will be ok if my salt(char *ciphertext) return
> (salt(upto16chars)+4Bytes int decoded rounds),and SALT_SIZE then would
> be (16+4)?

Yes.  This is what I would do.

> Because john is comparing salts maybe just return everyting between
> $5$ and $ciphertext adding rounds=DEFAULT if it is not present then:
> $5$saltstring$ciphertext
> $5$rounds=DEFAULT$saltstring$ciphertext
> 
> will be reckognized as the same salt, and SALT_SIZE should be
> strlen("rounds=999999999")+16;

Why bother with ASCII strings for numbers when you can simply use
numbers directly, as you have proposed above?

When the default number of rounds is used, just put this number (5000)
into salt[4] (the 5th 32-bit element), or something like that.

You may want to see how BF_{std,fmt}.[ch] do it.

Alexander

Powered by blists - more mailing lists

Your e-mail address:

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