New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for cracking SolarWinds Orion hashes #3449
Conversation
src/opencl_solarwinds_fmt_plug.c
Outdated
* be chosen for a kernel duration of not more than 200 ms | ||
*/ | ||
#define HASH_LOOPS (3 * 271) | ||
#define ITERATIONS 100000 /* Just for auto tune */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Drop this #define ITERATIONS
line, it's an artefact from something else. Or maybe better: Set it to 1000 if that is the fixed value, and pass it to the kernel (in line 193) for possibly better optimization by the runtime.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to be used in line 215 (autotune_run(self, 2 * (ITERATIONS - 1) + 4, 0, 200)
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK but then it has to be correct or auto-tune will end up incorrect by two orders of magnitude. That comment "Just for auto tune" sounds like it's not important - it is!
So set it to 1000 and while at it, add it to build_opts
as well, like it said may end up in a better optimized loop kernel.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you watch an auto-tune with -v:5
? Do so and ensure it looks correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW where did you get 3 * 271
from? It doesn't look like a good figure for splitting 1000 iterations into several calls. Something like 333 would match the comment above it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It came from a copy-paste operation ;(. I need to sit down and read this auto-tune stuff one day.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All these changes should be in place now. Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think HASH_LOOPS
should be just 333
(a.k.a 3 * 3 * 37
) as opposed to 3 * 333
. Current code is effectively a non-split kernel: It only runs the loop kernel once (using 333 it would be three times). Current figures run fine on these high-end cards but on a weaker device it will put a limit on reaching optimal GWS.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack. I have pushed a new commit now.
src/opencl_solarwinds_fmt_plug.c
Outdated
SALT_ALIGN, | ||
MIN_KEYS_PER_CRYPT, | ||
MAX_KEYS_PER_CRYPT, | ||
FMT_CASE | FMT_8_BIT | FMT_HUGE_INPUT, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this really FMT_HUGE_INPUT
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope! Fixed.
src/solarwinds_fmt_plug.c
Outdated
SALT_ALIGN, | ||
MIN_KEYS_PER_CRYPT, | ||
MAX_KEYS_PER_CRYPT, | ||
FMT_CASE | FMT_8_BIT | FMT_OMP | FMT_HUGE_INPUT, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FMT_HUGE_INPUT
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
On a local box,
This seems to be OK? |
Current speed,
CPU speed,
The GPU utilization percentage is decent.