|
Message-ID: <20080125130235.GA23015@openwall.com> Date: Fri, 25 Jan 2008 16:02:35 +0300 From: Solar Designer <solar@...nwall.com> To: john-users@...ts.openwall.com Subject: Re: question about charsets On Fri, Jan 25, 2008 at 08:00:41AM +0000, helleye wrote: > ok , i wrote a charset generator , and a wordlist generator I don't know why you chose to write anything from scratch. The code in JtR is straightforward to extend to make it consider three preceding characters instead of just two. > and on -i -stdout > > barissa > barissy > barison > barisor > bariner ... > i think that the trick is the seed you use ? I'm not sure what you mean, but no, the code does not use a seed (as in a PRNG). > every 1 it change last char , 2 - one before ,4 - two before and so on If you let it run for longer, you'll notice that things will be different - although it will continue to try to make sure that only one character changes most of the time, because this allows for faster key setup with some hash types. BTW, JtR 1.6 used an algorithm that did not have this property - it was changing many characters at once more often - and you can still find that code in inc.c: inc_key_loop() after the compat: label. I intend to drop that compatibility code sometime. (It is only invoked when you restore a session that was started with an older version of JtR.) > anyway can you correct me / elaborate on how to do the rounds please ? You're probably referring to what is called the "cracking order" in JtR source code comments. In charset.h: /* * Cracking order. * * This is a list of current {length, fixed position, character count}. * There are CHARSET_LENGTH different lengths, and fixed position is up * to the current length, which means we have exactly (CHARSET_LENGTH * * (CHARSET_LENGTH + 1) / 2) different {length, fixed position} pairs; * for each such pair we need to try all charsets from 1 character and * up to CHARSET_SIZE characters large. */ unsigned char order [CHARSET_LENGTH * (CHARSET_LENGTH + 1) / 2 * CHARSET_SIZE * 3]; As usual, the best answer to your question is the source code - just check out the uses of this order[] array in charset.c and inc.c. Also relevant is this older posting: http://www.openwall.com/lists/john-users/2007/11/13/4 -- Alexander Peslyak <solar at openwall.com> GPG key ID: 5B341F15 fp: B3FB 63F4 D7A3 BCCC 6F6E FC55 A2FC 027C 5B34 1F15 http://www.openwall.com - bringing security into open computing environments -- To unsubscribe, e-mail john-users-unsubscribe@...ts.openwall.com and reply to the automated confirmation request that will be sent to you.
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.