|
Message-ID: <a1739247-4c90-d9f1-b2b5-4989363acc7e@openwall.net> Date: Fri, 3 Feb 2017 10:29:06 -0600 From: jfoug <jfoug@...nwall.net> To: john-users@...ts.openwall.com Subject: Re: to Single or not to Single On 2/3/2017 6:14 AM, Solar Designer wrote: > One obvious reason for a lower speed is that you're presumably testing > only 1 password per salt, whereas we're optimizing for many passwords to > be tested at once. On a non-OpenMP build with AVX: > > $ ./john --list=format-all-details --format=dynamic_25 | fgrep keys > Min. keys per crypt 64 > Max. keys per crypt 1680 For AVX2 you will get 8X*PARA x performance loss (plus much other overhead loss due to dyna being very heavy on extraneous CPU usage). The 1680 is actually used to absorb and hide some of that additional overhead. The 64 min was due to getting a value that worked for all hash types. It really 'could' be larger, but making that adjustment is very tricky, since we have to deal with all possible SIMD coefs, AND SIMD para for all different hash types which dyna handles. But you are VERY right, single does have some very huge hits in this type usage (which can be an ideal usage), due to the fact that the blocks being tested are not being filled up optimally. Even though min is 64, the code will not be forced into doing 64 hashes. It will stop when the number of ready to go passwords (rounded up to the next simd*para) is enough. So if there is only 1 password, then only 1 call to the simd_crypt() will be done (which on AVX2 is 8x*para) NOTE, this type run should NEVER be done with OMP, or with fork. It will simply increase the loss. One thing that 'may' improve the throughput is to actually not do the SingleRetestGuessed=Y flag Because in that way, the 1 'excellent' candidate will get buffers filled in with other cracked data. If run like this you will certainly want to run some smaller 'testing' cases to make sure it does not cause the overall run to increase in time much, and actually see if there is a decent improvement in final end percentages cracked. For the AVX2, if you add 7 more passwords per each crack call (15 more is build is para=2), the program will run through the data at exactly the same rate, BUT all those other 'possible' passwords will be tested for nearly free. Jim.
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.