Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 23 Jul 2013 10:47:22 +0200
From: Frank Dittrich <frank_dittrich@...mail.com>
To: john-users@...ts.openwall.com
Subject: Re: Using DYNAMIC for implementing SHA-512 ^ 101 ?

On 07/21/2013 11:51 PM, Dhiru Kholia wrote:
> On 07/21/13 at 10:47pm, Nicolas RUFF wrote:
>> Is there any way to implement the following hashing scheme using
>> DYNAMIC ?
>>
>> import hashlib
>> h = hashlib.sha512(password + salt).digest()
>> for x in range(1,99):
>> 	h = hashlib.sha512( h ).digest()
>> print hashlib.sha512( h ).hexdigest()
> 
> For now, I have made a separate format to handle these hashes.
[...]
> Please let me know if you want to change the name of the plug-in (currently it
> is blackberry-es10). Also, is the input hash format ($bbes10$hash$salt) OK?

What if another application uses the same algorithm, or if the only
difference is the number of iterations?
I think it would be better to use a more generic name and a more generic
implementation.

$is-sha512$iterations$salt$hash
{i-s-SHA512}iterations$hash$salt
...

Whether or not the number of iterations specified in the hash includes
the first digest calculation (100) or just those which re-use the
previous hash (99) is probably a matter of taste.
(To better reflect the cost of computing a hash, I think this number
should include the first hash calculaton.)
Another matter of taste is probably the sequence of salt and hash.
For extra long hashes we should consider storing them base64 encoded,
even if the format supports hex encoded and base64 encoded hashes.

If other applications use sha512(salt + password) instead of
sha512(password + salt) for the first iteration, we might need different
format names or one more flag stored in the hash representation.


Frank

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.