Jens Steube
6b7d064118
Replace (u32x) (...) with make_u32x (...)
5 years ago
Jens Steube
d0bd33c9d1
Rename CONSTANT_AS to CONSTANT_VK
5 years ago
Jens Steube
d9cb5cf8df
Fix recursion in inc_common.cl
5 years ago
Jens Steube
89119bf24a
Add missing inc_platform.h include
5 years ago
Jens Steube
9faba41848
Use nvrtc to compile PTX (resulting PTX not yet used)
5 years ago
Jens Steube
4b986de5fb
Prepare native CUDA hybrid integration
5 years ago
jsteube
70fc36bf01
Reorganize inc_common.cl and make better use of HAS_* macros
5 years ago
jsteube
a3b6e6f1b0
Fix hc_rotl64_S() for AMD devices
5 years ago
jsteube
3274220d7f
Fix l32_from_64_S(), h32_from_64_S(), hl32_to_64_S() and h32_from_64() in inc_common.cl
5 years ago
jsteube
319bf80178
Fix hash_encode() salt position
5 years ago
jsteube
1c45de4b63
Remove more old GCC diagnostic options
5 years ago
jsteube
d80603648e
Replace plain_t with void in module_build_plain_postprocess() enables some options
5 years ago
jsteube
9574862a19
Inline hc_byte_perm in hc_bytealign
5 years ago
jsteube
5a1d929628
Fix some missing code changes after hc_bytealign() was changed
5 years ago
jsteube
fb8a9d7c40
Get rid of cpu_sha1.c
5 years ago
jsteube
66d94b06e4
Get rid of src/rp_kernel_on_cpu.c and src/rp_kernel_on_cpu_optimized.c and use OpenCL emulated kernel version
5 years ago
jsteube
13097fefc7
reorder functions for better overview
5 years ago
jsteube
e80b1838e8
Rename some functions in inc_common.cl to avoid conflicts with bitops.c
5 years ago
jsteube
adeeaee84a
Replace __kernel, __constant, __global and __local qualifiers with macro for better control
5 years ago
jsteube
7d4bea41a0
Get rid of OpenCL/inc_hash_constants.h and OpenCL/inc_hash_functions.cl
5 years ago
jsteube
218322f630
Support for inline VeraCrypt PIM Brute-Force
5 years ago
jsteube
84d6b8ecc1
Add function prototypes in OpenCL kernels to make some compilers happy
5 years ago
jsteube
e1fe3e755b
Optimize some switch_buffer_* functions for generic OpenCL devices (CPU, various OSX, ...)
6 years ago
jsteube
540b405e3a
Replace IS_ROCM with HAS_VPERM and HAS_VADD3
6 years ago
jsteube
c88a837196
Rename d_scryptVX_buf to d_extraX_buf
6 years ago
Matt Covalt
36bdcf844a
Add function to check if vector represents a Base58 string
6 years ago
Jens Steube
65abccc93e
Migrate inc_truecrypt_keyboard.cl into inc_common.cl
6 years ago
Jens Steube
e117e750fc
Add restrict keyword to kernel declarations to help the compiler with caching optimizations
6 years ago
R. Yushaev
fbbe5f6282
Use macros in remaining kernel functions
...
The 7zip, scrypt and stdout kernels differ from the others in their
function declarations somewhat. Unify them and substitute with macros.
Also remove a few superfluous (bogus) consts which were introduced in
the previous PR.
6 years ago
Jens Steube
6d39fb1feb
Make all kernel parameter macro helper a function
6 years ago
R. Yushaev
31dc7a3453
Add macros for kernel function declarations
...
Most of the kernel functions use nearly identical parameter lists.
Essentially, there are four parameters that vary, except for a dozen odd
kernel functions (e.g. stdout, zip, scrypt). This means that the function
declarations can be hidden behind a few simple macros with up to two
parameters.
6 years ago
R. Yushaev
224315dd62
Add pure kernels and tests for Streebog hashes
...
Complete Streebog support with pure kernels that allow for passwords
longer than 64 characters. Provide generic inc_hash_streebog files
for future Streebog-based hash modes (HMAC, PBKDF2, VeraCrypt).
Include streebog support in the test suite. For this, python module
PyGOST is needed. Also add clarification to hash mode description
stating that Streebog hashes are expected in big-endian byte order.
There are several implementations, including PyGOST, which default
to little-endian byte order, while the RFC examples are big-endian.
- Add pure kernels for hash-mode 11700 (Streebog-256)
- Add pure kernels for hash-mode 11800 (Streebog-512)
- Tests: Add hash-modes 11700 (Streebog-256) and 11800 (Streebog-512)
6 years ago
Jens Steube
6d03da369b
Fix gid datatype in mark_hash()
6 years ago
R. Yushaev
5c87720acc
Add SHA3 and Keccak
...
The previous hash-mode 5000 covered Keccak-256 only. FIPS changed one
padding byte while adopting Keccak as the SHA3 standard, which gives us
different digests. Now we have separate kernels for SHA3 and Keccak.
- Added hash-mode 17300 = SHA3-224
- Added hash-mode 17400 = SHA3-256
- Added hash-mode 17500 = SHA3-384
- Added hash-mode 17600 = SHA3-512
- Added hash-mode 17700 = Keccak-224
- Added hash-mode 17800 = Keccak-256
- Added hash-mode 17900 = Keccak-384
- Added hash-mode 18000 = Keccak-512
- Removed hash-mode 5000 = SHA-3 (Keccak)
6 years ago
jsteube
fbf434146d
Add set_mark_1x4() and set_mark_1x4_S()
6 years ago
Jens Steube
14c444fd47
Replace c_append_helper_mini[] table with on-the-fly calculation in order to workaround compiler bugs in AMD OpenCL runtime
6 years ago
Jens Steube
a43d3ad176
Rename some hashcat specific OpenCL functions to avoid conflicts with existing OpenCL functions from OpenCL runtime
6 years ago
Jens Steube
02a2495349
Switched array pointer types in function declarations in order to be compatible with OpenCL 2.0
6 years ago
Jens Steube
81b229c08a
Make new c_append_helper a bit more AMD friendly
7 years ago
jsteube
3a23b275e5
Improved c_append_helper[] handling
7 years ago
jsteube
b626e7f61b
Optimize update functions in inc_hash_* helper files by testing for pos == 0
7 years ago
Jens Steube
ec63c2f017
switch_buffer_* function can return sooner if offset is zero
7 years ago
jsteube
fe4413797e
OpenCL Kernels: Use three separate comparison kernels (depending on keyver) for WPA instead of one
7 years ago
jsteube
aa65ed28e5
Switch back c_append_helper to static
7 years ago
Jens Steube
d656e9c3a4
OpenCL Kernels: Use the kernel local buffer size as additional reference in order to limit the thread-count
7 years ago
jsteube
5951207365
Get rid of some old volatiles
7 years ago
jsteube
e4e1c1d515
We can't mix inline functions with static constants
7 years ago
jsteube
3e08750900
OpenCL Kernels: Add general function declaration keyword (static inline)
7 years ago
jsteube
a3a16f676f
OpenCL Kernels: Add a decompressing kernel and a compressing host code in order to reduce PCIe transfer time
...
For details see https://hashcat.net/forum/thread-7267.html
7 years ago
jsteube
553668bb9f
Added hash-mode 16600 = Electrum Wallet (Salt-Type 1-3)
7 years ago