Jens Steube
483ae613ee
Copy/paste error in optimized -m 2500 AUX 3 kernel
2018-02-16 11:48:11 +01:00
jsteube
f596d076aa
Optimize some WPA comparison kernel
2018-02-16 00:30:47 +01:00
jsteube
fe4413797e
OpenCL Kernels: Use three separate comparison kernels (depending on keyver) for WPA instead of one
2018-02-13 09:13:35 +01:00
jsteube
3e08750900
OpenCL Kernels: Add general function declaration keyword (static inline)
2018-02-06 19:12:24 +01:00
jsteube
ddbe805c00
Fix last step of make_kn
2017-09-20 09:40:14 +02:00
jsteube
68f5b12754
Get rid of swap32() in make_kn() in -m 2500
2017-09-19 13:45:43 +02:00
jsteube
b14f44dcf7
Fix uninitialized keymic buffer
2017-09-19 11:58:18 +02:00
jsteube
ca1b6492e7
Some code simplify on AES CMAC
2017-09-19 01:12:29 +02:00
jsteube
4e3a642f7f
Initial WPA2-PSK-SHA256-AES-CMAC support
2017-09-19 01:08:38 +02:00
jsteube
98fc02e04b
Add PTK compute for keyver 3
2017-09-18 13:50:09 +02:00
jsteube
617dbb97ba
Prepare migration -m 15800 into -m 2500
2017-09-18 13:21:00 +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
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
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
757f3a39c2
Accidentially pushed experimental -m 2500 kernel
2017-07-14 23:10:05 +02:00
jsteube
8434e451ef
Add -L support for all SHA512 based generic hashes
2017-07-14 17:25:23 +02:00
jsteube
8a6e3a5275
Add support in HMAC for passwords larger than block size of the underlaying hash
2017-07-10 11:15:15 +02:00
jsteube
f619811b70
Remove PBKDF2-HMAC-MD5 includes password length limit
2017-07-09 23:53:53 +02:00
jsteube
cbeb9c6e0c
Remove unused functions from -m 2500
2017-07-03 11:22:50 +02:00
jsteube
165380c454
Simplify WPA/WPA2 cracking kernel
2017-07-01 14:41:53 +02:00
jsteube
c918173fcf
Get rid of comb_t which can be safely replace with pw_t now
2017-06-25 00:56:25 +02:00
jsteube
8a3ed7fe75
Small WPA improvement, do not check the same candidate twice for LE and BE
2017-06-16 11:33:49 +02:00
jsteube
4b2d9f0f29
Fix for https://github.com/hashcat/hashcat/issues/1276
2017-06-16 10:26:15 +02:00
Jens Steube
e87fb31d3f
WPA cracking: Improved nonce-error-corrections mode to use a both positive and negative corrections
2017-06-12 09:59:15 +02:00
Jens Steube
a93a143d1e
Use scalar swap32() version for scalar variable
2017-04-17 17:46:27 +02:00
jsteube
26949a4fce
WPA cracking: Improved nonce-error-corrections mode to fix corrupt nonce generated on Big-Endian devices
...
WPA cracking: Reduced --nonce-error-corrections default from 16 to 8 to compensate speed drop caused due to Big-Endian fixes
Fixes https://github.com/hashcat/hashcat/issues/1221
2017-04-10 10:11:32 +02:00
jsteube
2bc65c2c4d
A bit a different _comp kernel iteration for WPA which can have lots of handshakes
2017-03-10 19:54:00 +01:00
jsteube
c04dd5c8b1
WPA cracking: Added support for WPA/WPA2 handshake AP nonce automatic error correction
...
WPA cracking: Added parameter --nonce-error-corrections to configure range of error correction
2017-03-07 14:41:58 +01:00
jsteube
33a043ec63
Refactored internal use of esalt from sync with number of salts to sync with number of digests
...
This enables a true N esalts per salt feature which is required for WPA/WPA2 handling
In case we need that for a future algorithm, just make sure to have a unique value in digest in hash parser.
Fixes https://github.com/hashcat/hashcat/issues/1158
2017-03-07 09:44:58 +01:00
jsteube
2ece9742e1
Compress multiple newlines to one
2017-02-26 15:42:56 +01:00
jsteube
d0fa9d059d
Remove some unused macros
2017-02-26 15:34:45 +01:00
jsteube
bbb4c74e85
OpenCL Kernel: Remove "static" keyword from function declarations; Causes older Intel OpenCL runtimes to fail compiling
2017-02-17 10:11:05 +01:00
jsteube
717da7f4f2
Added support for loading hccapx files
2017-02-06 17:03:42 +01:00
Gabriele Gristina
57400ff8da
Fix kernel build warnings (no previous prototypes and/or incompatible function parameters ...
2016-11-27 23:59:26 +01:00
Jens Steube
7fe575e204
Add const qualifier to variable declaration of matching global memory objects
2016-11-22 20:20:34 +01:00
jsteube
8d1809cacb
Fix slow-hash-simd exits in _loop kernels
2016-10-29 13:49:08 +02:00
jsteube
3daf0af480
Added docs/credits.txt
...
Added docs/team.txt
2016-09-11 22:20:15 +02:00
jsteube
8702d0e3e1
Workaround memory allocation limit from OpenCL by using multiple buffers for scrypt
2016-06-28 11:03:04 +02:00
Jens Steube
ed1863c263
Move macros DGST_R0 - DGST_R3 to host, define dgst_size for opencl kernel from host; both at runtime
2016-06-26 23:39:42 +02:00
Jens Steube
2899f53a15
Move files from include/ to OpenCL/ if they are used within kernels
...
Rename includes in OpenCL so that it's easier to recognize them as such
2016-05-25 23:04:26 +02:00
Jens Steube
de2074dfaa
Fix for -m 2500, see: https://github.com/hashcat/oclHashcat/issues/339
2016-05-17 18:21:37 +02:00
Jens Steube
0ddb264a5a
Use packv() and unpackv() for slow hash SIMD handling in kernels
2016-05-15 00:37:46 +02:00
Jens Steube
9d74f2958d
Added SIMD code for WPA/WPA2
2016-05-14 19:45:51 +02:00
Jens Steube
0b3743ce94
- Added inline declaration to functions from simd.c, common.c, rp.c and types_ocl.c to increase performance
...
- Dropped static declaration from functions in all kernel to achieve OpenCL 1.1 compatibility
- Added -cl-std=CL1.1 to all kernel build options
- Created environment variable to inform NVidia OpenCL runtime to not create its own kernel cache
- Created environment variable to inform pocl OpenCL runtime to not create its own kernel cache
2016-05-01 23:15:26 +02:00
jsteube
dad03e394d
Fixed two major problems
...
1) SIMD code for all attack-mode
Macro vector_accessible() was not refactored and missing completely.
Had to rename variables rules_cnt, combs_cnt and bfs_cnt into il_cnt which was a good thing anyway as with new SIMD code they all act in the same way.
2) SIMD code for attack-mode 0
With new SIMD code, apply_rules_vect() has to return u32 not u32x.
This has massive impact on all *_a0 kernels.
I've rewritten most of them. Deep testing using test.sh is still required.
Some kernel need more fixes:
- Some are kind of completely incompatible like m10400 but they still use old check_* includes, we should get rid of them as they are no longer neccessary as we have simd.c
- Some have a chance but require additional effort like m11500. We can use commented out "#define NEW_SIMD_CODE" to find them
This change can have negative impact on -a0 performance for device that require vectorization. That is mostly CPU devices. New GPU's are all scalar, so they wont get hurt by this.
This change also proofes that there's no way to efficiently vectorize kernel rules with new SIMD code, but it enables the addition of the rule functions like @ that we were missing for some long time. This is a TODO.
2016-02-27 17:18:54 +01:00
Jens Steube
eb60d6bb23
Remove MD4/MD5 *H1/*H2 functions and use original H functions. Modern compilers will find this easy optimization automatically
2016-01-29 18:38:34 +01:00
Gabriele 'matrix' Gristina
44c3f16bcb
Fixed compiler warnings (unused variable)
2016-01-25 13:32:45 +01:00
Jens Steube
a62b7ed06e
Upgrade kernel to support dynamic local work sizes
2016-01-19 16:06:03 +01:00
jsteube
331188167c
Replace the substring GPU to a more appropriate "device" or "kernel" substring depending on the context
2016-01-05 08:26:44 +01:00
jsteube
5f7c47b461
Fix path to includes
2016-01-03 01:48:05 +01:00