jsteube
9125062ffc
Move volatiles for AMD closer to the problem
2017-09-08 13:32:19 +02:00
jsteube
1963b12fdc
According to AMD docs, GCN 3 and 4 are the same
2017-09-08 12:46:00 +02:00
jsteube
ac9f1da747
Add fine-tuned AMD GCN control macros
2017-09-07 20:33:43 +02:00
Jens Steube
a910aea9e0
Do not use __local memory for -m 13100 if running on a device without physical shared memory
2017-09-05 17:41:55 +02:00
Jens Steube
b58aa445b4
Do not use __local memory for -m 7500 if running on a device without physical shared memory
2017-09-05 17:37:20 +02:00
Jens Steube
63f6ca5114
Do not use __local memory for whirlpool if running on a device without physical shared memory
2017-09-05 16:45:20 +02:00
jsteube
8b0e7087c7
Fixed an invalid optimization code in kernel 7700 depending on the input hash, causing the kernel to loop forever
2017-09-03 13:36:14 +02:00
jsteube
151dbc5349
Fix replace value in inc_hash_ripemd160.cl
2017-09-01 16:35:08 +02:00
jsteube
f859f466ef
Fix -m 8300 in -a 0 mode
2017-09-01 16:10:29 +02:00
jsteube
f5e04254dc
Fix -m 10800 in -a 0 mode
2017-09-01 16:06:42 +02:00
jsteube
d3b9febb30
Fix some double variable declarations
2017-08-30 16:29:25 +02:00
jsteube
40b57677cd
OpenCL Kernels: Reactivate Dalibors XOR optimization on MD5_H on all MD5 based algorithms
2017-08-30 15:32:09 +02:00
jsteube
6d112aeb39
OpenCL Kernels: Rewritten Keccak kernel to run fully on registers and partially reversed last round
2017-08-30 13:27:04 +02:00
jsteube
a378abee66
Add missing NEW_SIMD_CODE in -m 6600
2017-08-29 12:01:43 +02:00
jsteube
1c169af0ad
Make -m 14100 a pure kernel only
2017-08-28 22:26:30 +02:00
jsteube
2b9888486e
Make -m 14000 a pure kernel only and add volatile for asm statement
2017-08-28 22:20:40 +02:00
jsteube
99f416435e
Fix invalid use of __constant in LM kernel
2017-08-28 19:40:51 +02:00
jsteube
6db2f4cc18
Fix typo
2017-08-28 15:54:47 +02:00
jsteube
918578bee1
Improve some NVidia specific inline assembly
2017-08-28 14:15:47 +02:00
jsteube
9de1e557bb
More VEGA specific inline assembly to improve SHA1 based kernels
2017-08-28 09:24:06 +02:00
jsteube
a0be36d7b8
Fix compile error caused by __add3()
2017-08-27 19:46:17 +02:00
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
jsteube
a228e296da
Fix some whirlpool vector function declaration
2017-08-10 12:18:55 +02:00
jsteube
560a786ea7
Mix in pure kernel functions in various optimized kernels
2017-08-10 12:04:07 +02:00
jsteube
4b2f3011e9
Mix in pure kernel functions to PDF 1.7 Level 8 (Acrobat 10 - 11)
2017-08-10 10:43:30 +02:00
jsteube
a956a84edb
Fix vector datatype in -m 2810
2017-08-10 09:56:02 +02:00
jsteube
e6cb69e4cb
Add pure kernels for JKS Java Key Store Private Keys (SHA1)
2017-08-09 15:16:12 +02:00
jsteube
adacccecdf
Add pure kernels for FileZilla Server >= 0.9.55
2017-08-09 14:48:47 +02:00
jsteube
4c7f61e473
Add pure kernels for sha1(CX)
2017-08-09 14:26:39 +02:00
jsteube
b4c9f46205
Prepare sha1(CX) optimized kernel for pure kernel version
2017-08-09 13:21:33 +02:00
jsteube
29e13d6b77
Add pure kernels for OpenCart
2017-08-09 13:17:15 +02:00
jsteube
b6cf3144de
Prepare OpenCart optimized kernel for pure kernel version
2017-08-09 12:35:01 +02:00
jsteube
4443ecd861
Add pure kernels for Windows Phone 8+ PIN/password
2017-08-08 15:26:34 +02:00
jsteube
a5c0aa6041
Add pure kernels for PeopleSoft PS_TOKEN
2017-08-08 11:45:22 +02:00
jsteube
24a2fb01aa
Fix missing barrier in -m 8500
2017-08-07 18:58:23 +02:00
jsteube
0a676b549f
Remove global barrier when not needed to workaround Intel OpenCL runtime bug
2017-08-07 17:25:15 +02:00
jsteube
b9876c100b
Add pure kernels for AxCrypt in-memory SHA1
2017-08-07 15:28:23 +02:00
jsteube
5c6b3fa7ab
Add pure kernels for Kerberos 5 TGS-REP etype 23
2017-08-07 15:22:18 +02:00
jsteube
51128473bc
Add pure kernels for ColdFusion 10+
2017-08-07 14:22:15 +02:00
jsteube
4f72c8bee6
Add pure kernels for SIP digest authentication (MD5)
2017-08-07 13:39:17 +02:00
jsteube
b1f9ed4a7c
Add pure kernels for MySQL CRAM (SHA1)
2017-08-06 15:33:38 +02:00
jsteube
7548e5f85a
Add pure kernels for PostgreSQL CRAM (MD5)
2017-08-06 13:54:02 +02:00
jsteube
c5c12f89c1
Rewrite code around amd_bytealign to be of type BE to save a branch afterwards
2017-08-05 19:46:56 +02:00
jsteube
a53d9e09de
Fix some issue with offset_minus_4
2017-08-04 14:12:58 +02:00
jsteube
c9cae1f663
Add pure kernels for PrestaShop
2017-08-04 13:03:54 +02:00
jsteube
bc9f721dcd
Mix in pure kernel functions to PDF 1.1 - 1.3 (Acrobat 2 - 4)
2017-08-03 20:30:46 +02:00
jsteube
177800d1d0
Add pure kernels for RAdmin2
2017-08-03 15:21:39 +02:00
jsteube
3a042972a4
Mix in pure kernel functions to MS Office <= 2003 $3/$4, SHA1 + RC4
2017-08-03 14:52:09 +02:00
jsteube
a650b0864e
Mix in pure kernel functions to MS Office <= 2003 $0/$1, MD5 + RC4
2017-08-03 14:44:09 +02:00
jsteube
37432b19bc
Mix in pure kernel functions to MS Office <= 2003 $0/$1, MD5 + RC4
2017-08-03 14:42:11 +02:00
jsteube
14983a7542
Simplify RACF kernel
2017-08-03 14:27:53 +02:00
jsteube
1f42377931
Simplify Lotus Notes/Domino 5 kernel
2017-08-03 14:11:31 +02:00
jsteube
c68191e47a
Add pure kernels for DNSSEC (NSEC3)
2017-08-03 13:05:30 +02:00
jsteube
54eb0b158d
Prepare DNSSEC (NSEC3) optimized kernel for pure kernel version
2017-08-03 12:35:05 +02:00
jsteube
c2a8ae0207
Add pure kernels for WBB3 (Woltlab Burning Board)
2017-08-03 12:21:53 +02:00
jsteube
7cf3c29ef5
Mix in pure kernel functions to DNSSEC (NSEC3)
2017-08-02 14:34:36 +02:00
jsteube
aafda5fa1b
Add pure kernels for Citrix NetScaler
2017-08-02 14:12:27 +02:00
jsteube
5da64a1a43
Mix in pure kernel functions to SAP CODVN F/G (PASSCODE)
2017-08-02 13:24:54 +02:00
jsteube
bc6b8ca1c9
Mix in pure kernel functions to SAP CODVN B (BCODE)
2017-08-02 13:14:01 +02:00
jsteube
89d52f8209
Add pure kernels for Kerberos 5 AS-REQ Pre-Auth etype 23
2017-08-01 17:39:12 +02:00
jsteube
af6052d34b
Revert some invalid rename of kernel files
2017-08-01 15:01:16 +02:00
jsteube
2802f1d592
Fix vector function calls and datatypes
2017-08-01 14:56:09 +02:00
jsteube
1eb249c5b4
Add pure kernels for IPMI2 RAKP HMAC-SHA1
2017-08-01 14:42:28 +02:00
jsteube
83d37ebeff
Add pure kernels for FortiGate (FortiOS)
2017-08-01 14:16:27 +02:00
jsteube
cbd8f81a1c
Add pure kernels for RipeMD160
2017-08-01 09:59:20 +02:00
jsteube
6946329b02
Fix BF pure kernels for NetNTLMv2
2017-07-31 15:37:49 +02:00
jsteube
a9fed50ce0
Add pure kernels for NetNTLMv2
2017-07-31 15:29:28 +02:00
jsteube
443fa960d3
Fix vector function calls
2017-07-31 15:28:22 +02:00
jsteube
50aeade65c
Add pure kernels for NetNTLMv1 / NetNTLMv1+ESS
2017-07-31 10:23:04 +02:00
jsteube
5d137ba036
Add pure kernels for IKE-PSK SHA1
2017-07-31 09:36:57 +02:00
jsteube
942b7068be
Add pure kernels for IKE-PSK MD5
2017-07-29 23:19:15 +02:00
jsteube
b541e46b9b
Add pure kernels for Half MD5
2017-07-29 18:53:08 +02:00
jsteube
e0a565234a
Optimized -m 7700 for ROCm
2017-07-28 20:52:53 +02:00
jsteube
332396a003
Fix SCRYPT on ROCm
2017-07-28 02:28:52 +02:00
jsteube
a85be1d0f0
Fix some const keywords in inc_truecrypt_xts.cl
2017-07-24 14:46:58 +02:00
jsteube
02e2279d59
Optimized -m 8500 for ROCm
2017-07-24 14:33:34 +02:00
jsteube
5bcda7d05a
Optimized -m 5300 and -m 5400 for ROCm
2017-07-24 13:18:38 +02:00
jsteube
772441448a
Optimized -m 8000 for ROCm
2017-07-24 13:13:35 +02:00
jsteube
9562d07264
Replace bitwise swaps with rotate() versions for AMD
2017-07-23 17:01:15 +02:00
jsteube
3125a756d9
Remove some AMD _unroll restrictions no longer required with ROCm
2017-07-23 14:44:20 +02:00
jsteube
4dca908cdf
Fix a typo in OpenCL/m01460_a3-optimized.cl
2017-07-23 14:06:32 +02:00
jsteube
4c71bc984e
Fix const keywords in -m 8600
2017-07-23 13:01:54 +02:00
jsteube
c255a967df
Fix some types in rotate functions
2017-07-22 18:59:01 +02:00
jsteube
c289fcb2b0
Merge branch 'master' of https://github.com/hashcat/hashcat
2017-07-22 18:06:41 +02:00
jsteube
5e34ec348e
Optimize kernels for ROCm 1.6
...
- Remove inline keywords
- Remove volatile keywords where it causes ROCm to slow down
- Replace DES functions (looks like bitselect somehow is no longer mapped to BFI_INT)
2017-07-22 18:05:18 +02:00
jsteube
27edc07c2f
Add pure kernels for iSCSI CHAP authentication, MD5(CHAP)
2017-07-21 16:59:10 +02:00
jsteube
e9821a01ba
Add pure kernels for sha1($salt.$pass.$salt)
2017-07-21 16:42:55 +02:00
jsteube
9515927cf7
Add pure kernels for sha1(md5())
2017-07-21 15:44:29 +02:00
jsteube
1fdb9d1d7e
Add pure kernels for sha1($salt.sha1($pass))
2017-07-20 18:06:54 +02:00
jsteube
15d725e6cc
Add pure kernels for sha1(sha1($pass))
2017-07-20 17:50:07 +02:00
jsteube
4e97a4db24
Add pure kernels for md5(sha1($pass))
2017-07-20 17:38:43 +02:00
jsteube
03bb234045
Preparation for WPA/WPA2 AES-CMAC: works till PMK
2017-07-20 12:46:18 +02:00
jsteube
441434840c
Fix broken -m 7900 after migration to pure kernel
2017-07-19 17:45:58 +02:00
jsteube
eae9329761
Workaround some AMD JiT compiler segfault on complex kernels
2017-07-19 13:34:36 +02:00
jsteube
920911b56e
Migrate MD5-PIX and MD5-ASA to run as optimized kernels
2017-07-18 15:53:25 +02:00
jsteube
beb6ee2061
Add OPTI_TYPE_OPTIMIZED_KERNEL
...
Rename unconverted fast hash kernels to optimized kernels
Finalize some converted fast hashes to default kernels
2017-07-18 14:45:15 +02:00
jsteube
fbea72ebd6
Renamed default kernels to optimized kernels
...
Renamed pure kernels to default kernels
Replaced long option --length-limit-disable with --optimized-kernel-enable
Replaced short option -L with -O
Set --optimized-kernel-enable to unset by default
2017-07-18 13:23:42 +02:00
jsteube
2616d54794
Add -L kernel for md5(strtoupper(md5($pass)))
2017-07-18 12:01:18 +02:00
jsteube
0e7d40dd3d
Add -L kernel for md5($salt.md5($pass.$salt))
2017-07-18 11:52:14 +02:00
jsteube
ad9ee5c5b1
Add -L kernel for md5($salt.md5($salt.$pass))
2017-07-18 11:35:38 +02:00
jsteube
80324918e9
Add -L kernel for md5(md5($pass).md5($salt))
2017-07-17 20:18:56 +02:00