1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-23 23:19:09 +00:00
Commit Graph

1434 Commits

Author SHA1 Message Date
jsteube
00e38cc2c6 Add VEGA specific inline assembly to improve all MD4, MD5, SHA1 and SHA256 based kernels 2017-08-27 19:36:07 +02:00
jsteube
7bfd343ec9 Optimized rule_op_mangle_dupechar_last(), rule_op_mangle_rotate_right(), rule_op_mangle_rotate_left() and append_block1() in rule engine 2017-08-27 16:47:21 +02:00
jsteube
52a97fee75 Improve rule engine performance by improving append_0x80_xxx() performance by using precomputed values from constant memory 2017-08-27 14:22:20 +02:00
jsteube
3260000357 Fix whirlpool pure kernel in -a 0 mode 2017-08-26 19:51:37 +02:00
jsteube
e3810d054b Fix some use of pw_t tmp variable 2017-08-26 19:48:38 +02:00
jsteube
5e01ff4c53 Refactor some u32x to u32 where u32x is not needed 2017-08-26 18:31:50 +02:00
jsteube
1aa76eac15 Refactor use of __constant to match up with the user selected attack mode 2017-08-25 17:52:55 +02:00
jsteube
938c281ee0 Resurrect some volatile variables in order to correctly compile pure kernels on AMD drivers 2017-08-25 17:06:07 +02:00
jsteube
48fbe81a09 Add more inline assembly for AMD ROCm 2017-08-25 16:33:00 +02:00
jsteube
6c619155c3 Workaround ROCm compiler error in aes256_ExpandKey() 2017-08-25 12:10:36 +02:00
jsteube
8c9c36ee2a Fix out-of-bound access in aesXXX_InvertKey() 2017-08-25 11:52:07 +02:00
jsteube
bed7e8f466 Remove unused truncate_block_xxx_xx() functions and update kernels to use the _S function 2017-08-24 20:07:43 +02:00
jsteube
51dc1c7db3 Use truncate_block_4x4_le_S() instead of truncate_block_4x4_le() in -m 6800 2017-08-24 19:53:29 +02:00
jsteube
9b73c464d2 Fix typo in macro 2017-08-24 17:19:16 +02:00
jsteube
7b443ee7ff Optimize performance of rule_op_mangle_title_sep(), rule_op_mangle_purgechar() and rule_op_mangle_replace() 2017-08-24 17:14:33 +02:00
jsteube
0de41c2716 Some more optimizations for rule engine 2017-08-24 15:09:55 +02:00
jsteube
9f8c5a253d More rule engine performance optimizations 2017-08-24 00:49:46 +02:00
jsteube
0783289e2f Optimized a0 pure kernel for AMD 2017-08-23 13:40:22 +02:00
jsteube
a5659d5619 Also switch optimized kernels rule engine to make use of kernel rules in constant memory 2017-08-23 12:46:14 +02:00
jsteube
1d04de3a8e Limit kernel-loops in straight-mode to 256, therefore allow rules to be stored in constant memory 2017-08-23 12:43:59 +02:00
jsteube
51372438fe Allow OpenCL kernel inline assembly if ROCm drivers was detected 2017-08-22 18:47:53 +02:00
jsteube
8853884f2a Fix append_four_byte() in case sm8 is 0 2017-08-21 16:04:43 +02:00
jsteube
f32e113942 Add missing case in append_block() in pure kernel rule engine 2017-08-20 15:08:51 +02:00
jsteube
6907981f08 Backport current state of optimized kernel rule engine to CPU 2017-08-20 12:50:24 +02:00
jsteube
508f1562f2 Fix --stdout kernels, gid_max was still set to u32 2017-08-20 12:13:34 +02:00
jsteube
319799bbbf Switch the datatypes of the variables responsible for work-item count and work-item size from u32 to u64 2017-08-19 16:39:22 +02:00
jsteube
d9c906e134 Move 0x80 to hardcoded position for sha3-256 bit in order to allow ROCm compiler to use registers only 2017-08-18 16:22:25 +02:00
jsteube
694cc0b740 Remove all calls to overwrite_at_* functions 2017-08-17 16:20:01 +02:00
jsteube
e984a829ea Remove no longer needed overwrite_at_* functions 2017-08-17 15:53:09 +02:00
jsteube
bf299fe043 Optimized 3DES for rocm 2017-08-17 14:03:55 +02:00
jsteube
ad1ce462d1 Get rid of ceil() in OpenCL kernels 2017-08-17 13:43:35 +02:00
jsteube
53f53fe014 Reduced number of required registers in SIP based on maximum possible esalt length 2017-08-17 12:16:49 +02:00
jsteube
9ee5da40e0 Workaround rocm compiler error for -m 15300 2017-08-17 11:25:34 +02:00
jsteube
88e995ddcf Replace some SIMD related function calls 2017-08-17 11:18:39 +02:00
jsteube
5b5bdf3889 Replace some SIMD related function calls 2017-08-17 10:18:17 +02:00
jsteube
967e96728d Make all the OpenCL kernel function includes static 2017-08-16 20:27:17 +02:00
jsteube
21e9c63d46 Fix rotl64() the same was as rotr64() 2017-08-16 17:58:33 +02:00
jsteube
58012ada0c Fall back to old rotr64 optimization for AMD 2017-08-16 16:14:46 +02:00
philsmd
4a89172140
reformatting; replaced some tabs with spaces 2017-08-16 13:46:40 +02:00
jsteube
ec874c1d59 Optimized the following pure kernel rule engine functions:
- mangle_lrest()
- mangle_lrest_ufirst()
- mangle_urest()
- mangle_urest_lfirst()
- mangle_trest()
- mangle_toggle_at()
- mangle_reverse()
- mangle_dupeword()
- mangle_reflect()
- mangle_rotate_left()
- mangle_rotate_right()
- mangle_switch_first()
- mangle_switch_last()
- mangle_switch_at()
- mangle_title_sep()
- mangle_title_sep()
Added some helper functions:
- generate_cmask()
- append_four_byte()
- append_three_byte()
- append_two_byte()
- append_one_byte()
- append_block()
- exchange_byte()
Removed some helper functions:
- upper_at()
- lower_at()
- toggle_at()
- mangle_switch()
NOTE: Changes need to be backported to CPU when finished
2017-08-13 16:43:46 +02:00
jsteube
9a57c4b20e Fix missing boundary check in pure kernel rule engine 2017-08-12 13:32:05 +02:00
jsteube
dcaa91a88f Fix rule engine function call in amp_a0 2017-08-12 13:28:31 +02:00
jsteube
0b0abb5c12 Prepare pure kernel rule engine for performance optimization 2017-08-12 13:04:52 +02:00
jsteube
98b4aab9d0 Update inc_rp_optimized to inc_rp for pure kernels 2017-08-11 23:51:17 +02:00
jsteube
cb1fe251de Add missing functions to pure kernel rule engine 2017-08-11 22:58:37 +02:00
jsteube
07b54c1257 Replace code to use pure kernel rule engine for slow hashes 2017-08-11 16:21:19 +02:00
jsteube
8a0d21360b Prepare for pure kernel rule engine support 2017-08-11 16:09:12 +02:00
jsteube
34d882a116 Rename inc_rp.X to inc_rp_optimized.X 2017-08-11 11:25:47 +02:00
jsteube
68a8f70edb Mix in pure kernel functions in various optimized kernels 2017-08-10 13:56:53 +02:00
jsteube
66f7590883 Mix in pure kernel functions in various optimized kernels 2017-08-10 12:38:42 +02:00