Commit Graph

20 Commits

Author SHA1 Message Date
Jens Steube be75e4b4ea Rename STR() to M2S() to avoid future collisions and move from kernel source to command line parameter 2022-02-07 09:57:08 +01:00
Gabriele Gristina 2e4a136758 Refactored standard kernel includes in order to support Apple Metal runtime, updated backend, test units and status code 2022-01-18 22:52:14 +01:00
Jens Steube 0abdcb1ae5 Rename GID_MAX to GID_CNT to avoid naming conflict with existing macro 2022-01-04 22:57:26 +01:00
Jens Steube 668d2179cd Kernels: Refactored standard kernel declaration to use a structure holding u32/u64 attributes to reduce the number of attributes 2022-01-04 18:07:18 +01:00
Jens Steube 04d5e5a119 New Attack-Mode: Association Attack. Like JtR's single mode. Very early
stage. See hashcat Forum for detailed writeup.
2020-09-29 15:56:32 +02:00
Jens Steube 8ff8c5d536 Add LOCAL_VK to make use of __shared__ 2019-05-07 09:01:32 +02:00
Jens Steube 89119bf24a Add missing inc_platform.h include 2019-04-26 13:59:43 +02:00
Jens Steube 00e1e32492 Replace barrier() with SYNC_THREADS() 2019-04-26 13:34:07 +02:00
f0cker d2f29a2f21 Fix for library compilation failure due to multiple def of sbob_xx64, renamed these 2019-04-06 10:42:18 -04:00
jsteube adeeaee84a Replace __kernel, __constant, __global and __local qualifiers with macro for better control 2019-03-22 22:27:58 +01:00
jsteube c9d60c079f Prepare OpenCL kernels for non-static compilation 2019-03-22 15:16:25 +01:00
jsteube 7d4bea41a0 Get rid of OpenCL/inc_hash_constants.h and OpenCL/inc_hash_functions.cl 2019-03-21 23:00:38 +01:00
jsteube dc9279c95c New Strategy: Instead of using volatile, mark the mode as unstable. Remove all volatiles 2019-03-03 19:18:56 +01:00
jsteube 5da1e4b872 Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
Jens Steube 53c8600089 Give the compiler a hint for automatic optimizations based on password length 2018-11-20 15:34:43 +01:00
Jens Steube 0e428b3c40 Give the compiler a hint for automatic optimizations based on password length 2018-11-20 15:32:41 +01:00
Jens Steube 6d39fb1feb Make all kernel parameter macro helper a function 2018-11-16 14:17:01 +01:00
R. Yushaev 5de004103a Replace kernel parameter lists with macros
Substitute long parameter lists in ~2900 kernel function declarations
with macros. This cleans up the code, reduces probability of copy-paste
errors and highlights the differences between kernel functions. Also
reduces the size of the OpenCL folder by ~3 MB.
2018-11-16 11:44:33 +01:00
R. Yushaev 47bd838e25 Add VeraCrypt Streebog support
VeraCrypt added the possibility to use Streebog-512 as hashing algorithm
for the key derivation. This commit adds the necessary VeraCrypt kernels
as well as additional HMAC-Streebog kernels.

 - Add hash-mode 13771: VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 512 bit
 - Add hash-mode 13772: VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1024 bit
 - Add hash-mode 13773: VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1536 bit
 - Add hash-mode 11750: HMAC-Streebog-256 (key = $pass), big-endian
 - Add hash-mode 11760: HMAC-Streebog-256 (key = $salt), big-endian
 - Add hash-mode 11860: HMAC-Streebog-512 (key = $salt), big-endian
 - Add test suite for hash-modes 11750, 11760 and 11860
 - Improve pure Streebog kernels
2018-11-08 11:46:31 +01:00
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)
2018-10-29 10:33:30 +01:00