Jens Steube
ade00c412b
Add code to inc_common.cl to do PKCS padding checks as well as (naive) ASN.1 detection
2020-07-30 14:51:04 +02:00
Jens Steube
4658e470a2
OpenCL Kernels: Added datatypes to literals of some 64 bit kernel constants
2020-07-22 14:06:58 +02:00
Jens Steube
70ba719169
OpenCL Kernels: Added datatypes to literals of enum costants
2020-07-22 12:34:00 +02:00
philsmd
bd9304724c
fixes #1298 : add pure kernels for -m 600 = BLAKE2b-512
2020-06-24 23:41:58 +02:00
Jens Steube
fa4b521d48
Add unpack_v8x_from_v32 for vector datatypes, update -m 200
2020-03-06 13:31:32 +01:00
Jens Steube
c9fdb34698
Do not use V_BFE_U32 with latest rocm version
2020-02-13 13:24:20 +01:00
Jens Steube
525f8af200
Add v8x_from_v64_x to inc_common.cl
2020-02-03 15:51:08 +01:00
Jens Steube
1fc37c25f9
OpenCL Kernels: Moved "gpu_decompress", "gpu_memset" and "gpu_atinit" into new OpenCL/shared.cl in order to reduce compile time
2020-02-01 09:00:48 +01:00
Jens Steube
3a5544a554
Help some compiler with 64 bit constants
2020-01-21 22:09:56 +01:00
Jens Steube
89f9ef45b6
Whitelist some OpenCL specific functions
2020-01-12 13:32:02 +01:00
Jens Steube
cc2bd2b554
Fix rocm compiler warning
2020-01-12 08:52:15 +01:00
Jens Steube
a6c18f48ba
Remove some double code
2019-11-22 23:12:57 +01:00
Gabriele Gristina
660da2da3d
fix OpenCL compiler warning
2019-06-21 21:26:42 +02:00
Jens Steube
316095c151
Some more ROCm performance tuning
2019-06-20 10:04:31 +02:00
Jens Steube
6ec52bd342
ROCm JiT learned how to use V_ADD3_U32 efficiently
2019-06-18 12:41:59 +02:00
Jens Steube
153a8704e0
Fix some register type in inline assembly in some ROCM section
2019-05-14 13:03:40 +02:00
Jens Steube
6b7d064118
Replace (u32x) (...) with make_u32x (...)
2019-05-08 15:21:22 +02:00
Jens Steube
d0bd33c9d1
Rename CONSTANT_AS to CONSTANT_VK
2019-05-06 14:34:16 +02:00
Jens Steube
d9cb5cf8df
Fix recursion in inc_common.cl
2019-04-26 14:03:57 +02:00
Jens Steube
89119bf24a
Add missing inc_platform.h include
2019-04-26 13:59:43 +02:00
Jens Steube
9faba41848
Use nvrtc to compile PTX (resulting PTX not yet used)
2019-04-26 13:28:44 +02:00
Jens Steube
4b986de5fb
Prepare native CUDA hybrid integration
2019-04-25 14:45:17 +02:00
jsteube
70fc36bf01
Reorganize inc_common.cl and make better use of HAS_* macros
2019-04-20 11:25:34 +02:00
jsteube
a3b6e6f1b0
Fix hc_rotl64_S() for AMD devices
2019-04-15 12:11:37 +02:00
jsteube
3274220d7f
Fix l32_from_64_S(), h32_from_64_S(), hl32_to_64_S() and h32_from_64() in inc_common.cl
2019-04-04 22:05:45 +02:00
jsteube
319bf80178
Fix hash_encode() salt position
2019-03-31 20:17:17 +02:00
jsteube
1c45de4b63
Remove more old GCC diagnostic options
2019-03-31 19:41:28 +02:00
jsteube
d80603648e
Replace plain_t with void in module_build_plain_postprocess() enables some options
2019-03-30 16:32:11 +01:00
jsteube
9574862a19
Inline hc_byte_perm in hc_bytealign
2019-03-28 13:37:28 +01:00
jsteube
5a1d929628
Fix some missing code changes after hc_bytealign() was changed
2019-03-28 12:26:24 +01:00
jsteube
fb8a9d7c40
Get rid of cpu_sha1.c
2019-03-25 14:08:59 +01:00
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
2019-03-25 12:24:04 +01:00
jsteube
13097fefc7
reorder functions for better overview
2019-03-24 15:23:11 +01:00
jsteube
e80b1838e8
Rename some functions in inc_common.cl to avoid conflicts with bitops.c
2019-03-23 22:15:38 +01:00
jsteube
adeeaee84a
Replace __kernel, __constant, __global and __local qualifiers with macro for better control
2019-03-22 22:27:58 +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
218322f630
Support for inline VeraCrypt PIM Brute-Force
2019-03-15 21:48:49 +01:00
jsteube
84d6b8ecc1
Add function prototypes in OpenCL kernels to make some compilers happy
2019-03-09 09:05:44 +01:00
jsteube
e1fe3e755b
Optimize some switch_buffer_* functions for generic OpenCL devices (CPU, various OSX, ...)
2019-03-01 14:49:00 +01:00
jsteube
540b405e3a
Replace IS_ROCM with HAS_VPERM and HAS_VADD3
2019-02-24 10:12:48 +01:00
jsteube
c88a837196
Rename d_scryptVX_buf to d_extraX_buf
2019-01-04 11:21:42 +01:00
Matt Covalt
36bdcf844a
Add function to check if vector represents a Base58 string
2018-12-05 10:20:41 -08:00
Jens Steube
65abccc93e
Migrate inc_truecrypt_keyboard.cl into inc_common.cl
2018-11-25 18:34:57 +01:00
Jens Steube
e117e750fc
Add restrict keyword to kernel declarations to help the compiler with caching optimizations
2018-11-21 13:00:30 +01:00
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.
2018-11-16 14:30:45 +01:00
Jens Steube
6d39fb1feb
Make all kernel parameter macro helper a function
2018-11-16 14:17:01 +01:00
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.
2018-11-16 11:44:26 +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
Jens Steube
6d03da369b
Fix gid datatype in mark_hash()
2018-10-20 02:19:39 +02:00
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)
2018-10-15 16:06:31 +02:00