|
Message-ID: <20130721192650.7032G.783242.imail@fed1rmwml303> Date: Sun, 21 Jul 2013 19:26:50 -0400 From: <jfoug@....net> To: john-users@...ts.openwall.com Cc: Nicolas RUFF <nicolas.ruff@...il.com> Subject: Re: Using DYNAMIC for implementing SHA-512 ^ 101 ? ---- Nicolas RUFF <nicolas.ruff@...il.com> wrote: > Hello list, > > Is there any way to implement the following hashing scheme using DYNAMIC ? > > ---8<--- hash.py ------------------------- > import hashlib > h = hashlib.sha512(password + salt).digest() > for x in range(1,99): > h = hashlib.sha512( h ).digest() > print hashlib.sha512( h ).hexdigest() > ------------------------------------------ > > It seems to me that DYNAMIC: > - is stuck with MD5/SHA1 algorithms > - does not support loops > ... but maybe I overlooked something. Pull JtR source from git. It has had other 'large' hash support in dyna for a couple years now. Here is a script for the above. Yes, adding some form of looping and some variables would make this much easier, but I have looked at this problem for a couple years, and the complexity and very likely reduction in processing speed has put me off from adding it. Jim. [List.Generic:dynamic_1201] Expression=BBerry-ESvr-10 Flag=MGF_SALTED Flag=MGF_INPUT_64_BYTE Flag=MGF_FLAT_BUFFERS Func=DynamicFunc__clean_input Func=DynamicFunc__append_keys Func=DynamicFunc__append_salt Func=DynamicFunc__LargeHash_OUTMode_raw Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_overwrite_input1 Func=DynamicFunc__SHA512_crypt_input1_to_output1_FINAL Test=$dynamic_1201$e3126a8f133b6428a89ab375ffbbe73f6117c82a1886d75dadbd3a56d2d6b611b9a6703e44d9c97750fb1c489b82ce80cc2d00e1a11bfee2cb581a73c6af5491$salt:password
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.