Questions about benchmarks
#1
Hi I am studying cryptographic algorithms, analytics, parallelism.
First time using and analyzing Hashcat, I am learning about cryptographic algorithm parallelism or acceleration.

I have a question about Hashcat performance measurement.
I used --benchmark-all to see the MH/s of SHA-256.
I have a question about this command.
What formula is used to calculate MH/s when using Hashcat's --benchmark-all?
Or can you tell me which source code file calculates MH/s? I would like to analyze the corresponding performance measurement process code.
Through this question, I would like to know how performance is measured in parallel processing and acceleration.

Please let me know if my question does not conform to the forum rules.
Thank you.
Reply
#2
No formula. It's real attack running on the GPU as if you would run it manually.

Code:
$ tools/benchmark_deep.pl 1400

...

Quote:Executing command: ./hashcat --quiet tmp.hash.1400 --keep-guessing --self-test-disable --markov-disable --restore-disable --outfile-autohex-disable --wordlist-autohex-disable --potfile-disable --logfile-disable --hwmon-disable --status --status-timer 1 --runtime 24 --machine-readable --optimized-kernel-enable --workload-profile 3 --hash-type 1400 --attack-mode 3 ?b?b?b?b?b?b?b --backend-devices 3
Reply
#3
(06-02-2021, 06:39 PM)atom Wrote: No formula. It's real attack running on the GPU as if you would run it manually.

Code:
$ tools/benchmark_deep.pl 1400

...

Quote:Executing command: ./hashcat --quiet tmp.hash.1400 --keep-guessing --self-test-disable --markov-disable --restore-disable --outfile-autohex-disable --wordlist-autohex-disable --potfile-disable --logfile-disable --hwmon-disable --status --status-timer 1 --runtime 24 --machine-readable --optimized-kernel-enable --workload-profile 3 --hash-type 1400 --attack-mode 3 ?b?b?b?b?b?b?b --backend-devices 3


thank you for your answer.
The part I want to know seems to be a little different.
I printed benchmark information using the ./hashcat.exe -a 3 -m 1400 --benchmark-all command.
As a result, Speed.#1..... : 1297 MH/s (8.97ms) was output.

What I am curious about is that the output value of 1297 MH/s (8.97ms) may have resulted in a result of 1297 MH/s due to a specific function.

So, I wanted to know what value and formula was used to calculate the value of 1297 MH/s, or the path of the source code where the calculation process is.

Please let me know if there are any errors in the question
Thank you.
Reply
#4
Yeah there is one error. it's not a "formula" or calculation... it's really testing the speed !
no guessing, no general formula involved

it just runs the opencl/cuda code with your device for a few (milli) seconds and checks what the speed is (there are some special options like -O and -w 3 and single/one hashes and huge but still short masks etc involved, also see the optimizers, but that's about it !)

What people often forget is that the attack mode (-a x) and some other inputs (like number of hashes vs single hash optimizations) can have a huge influence. (in general -a 3 is faster in terms of speed, but as many hashcat users notice quite fast is that raw speed isn't all that matters... sometimes it's much more clever to use a more specific attack like rule-based attacks - which have in general less speed but are more effective for non-random passwords).
Reply
#5
(06-05-2021, 09:22 AM)philsmd Wrote: Yeah there is one error. it's not a "formula" or calculation... it's really testing the speed !
no guessing, no general formula involved

it just runs the opencl/cuda code with your device for a few (milli) seconds and checks what the speed is (there are some special options like -O and -w 3 and single/one hashes and huge but still short masks etc involved, also see the optimizers, but that's about it !)

What people often forget is that the attack mode (-a x) and some other inputs (like number of hashes vs single hash optimizations) can have a huge influence. (in general -a 3 is faster in terms of speed, but as many hashcat users notice quite fast is that raw speed isn't all that matters... sometimes it's much more clever to use a more specific attack like rule-based attacks - which have in general less speed but are more effective for non-random passwords).

thank you for your answer.
Your answer has been very helpful.
Thank you.
Reply