Commit Graph

54 Commits

Author SHA1 Message Date
f18a84b6c9
Enable explicit_bzero() and getentropy() on DragonFly platform + enable explicit_bzero() on Haiku platform (requires linking against libbsd). 2022-05-08 16:46:32 +02:00
207039f4f7
Small improvement to Makefile + fixed compilation with µClibc, which does *not* provide getentropy() or explicit_bzero() + enable these functions on Solaris/Illumos. 2022-05-07 17:55:03 +02:00
afdce47caa
Small code clean-up + improved the Makefile + detect GNU/Hurd operating system. 2022-04-23 20:25:58 +02:00
86b4f64f86
Updated pthreads libraries for the Windows platform (pthread4w) to version 3.0.0. 2022-04-17 01:49:03 +02:00
8b1b8aec64
Added built-time option SLUNKBUILD_NOTHREADS to disable threading + added simple "testbed" script. 2022-04-10 17:34:42 +02:00
70e9d2d3b5
Fixed slunkcrypt_reset() when no thread pool is allocated, e.g. when thread count is 1. 2022-04-07 00:15:07 +02:00
45829c4317
Added support for setting the number threads in the GUI + some improvements application configuration handling. 2022-04-03 19:23:58 +02:00
69df385d57
Detect the number of available CPU cores by using either sched_getaffinity(), GetProcessAffinityMask() or sysconf(), depending on the target platform. 2022-04-01 20:33:46 +02:00
342562cf2e
Slightly improved thread management code. 2022-03-25 20:48:14 +01:00
f70ccb6a14
Some code refactoring in the thread pool module. 2022-03-24 21:59:43 +01:00
d0be7ad5a5
Make it possible to set number of threads in the front-end + updated the README file. 2022-03-24 00:06:01 +01:00
c32c85d8c9
Much improved threading support. 2022-03-22 23:01:19 +01:00
ddefc8c142
Initial thread support. 2022-03-21 21:11:46 +01:00
c63c3bffe6
Make sure that the requested number of random bytes is fully read, even if a single read() invocation returned fewer than "count" bytes. 2022-02-08 22:46:33 +01:00
956e79ecc6
Increment patch version. 2022-01-27 21:51:53 +01:00
801f812714
Replaced 'glibc' checks with more general 'linux' checks in order to better support alternative C libraries (e.g. musl libc). 2021-11-13 02:58:04 +01:00
17d807bbb3
Added runtime CPU detection for SSE2 capability to the GUI front-end. 2021-11-09 23:23:43 +01:00
7f643ad566
Do not request more than 256 bytes of random data from getentropy() at once. 2021-04-21 16:02:25 +02:00
b63dfd1a44
Switch to using getentropy() function, because it is available on OpenBSD and it doesn't require an additional header. 2021-04-20 21:59:51 +02:00
2e93d8dc28
Fall back to /dev/urandom, if compiled with getrandom() support but that syscall is not available at runtime. 2021-04-17 20:07:22 +02:00
a656e9de37
Refactored key-derivation code into a separate file + some code clean-up. 2021-04-17 15:13:13 +02:00
102233a237
Fold the hash at the very end of the keygen loop (effectively), instead of already in the hash function. 2021-04-15 22:51:35 +02:00
772c88a387
Workaround for Intel® oneAPI DPC++/C++ Compiler detection. 2021-04-11 18:26:44 +02:00
d76d0f6e4b
Do not use __umul128() intrinsic with MSVC, as it is not faster at all + some code clean-up. 2021-04-10 01:47:00 +02:00
fde0906f98
Using the 128-bit hash function, instead of 64-Bit one. 2021-04-08 02:38:00 +02:00
874a54a665
Slightly tweak stepping algorithm to include a counter. 2021-04-03 17:02:39 +02:00
80db0ac404
VS2010 compile fix. 2021-04-02 20:04:30 +02:00
06f57ca483
Clean up function names. 2021-04-02 16:37:19 +02:00
e6511aec5e
Revamped the stepping algorithm. 2021-04-01 23:44:13 +02:00
8ebf71ba73
Simplified crypt_state_t by merging separate fwd/bwd arrays. 2021-04-01 20:27:14 +02:00
471e08737b
Replaced separate encrypt() and decrypt() functions with a single process() function + added 'mode' parameter to alloc() and reset() functions. 2021-04-01 01:58:39 +02:00
75b10acd6a
Small fix to rotation code. 2021-04-01 00:36:04 +02:00
26cfd32d24
Revamped the stepping algorithm. 2021-03-31 00:05:40 +02:00
163dee5e9d
Only check current clock() on every 32-th cycle, in order to limit the overhead. 2021-03-28 16:17:06 +02:00
73f2e71342
Revamped the stepping algorithm. 2021-03-27 22:41:31 +01:00
7a40d62b06
Make sure that not all RNG state variables are initialized to a zero value. 2021-03-20 21:19:14 +01:00
1b049d5291
Some improvements to the PRNG code. 2021-03-20 21:19:12 +01:00
11951fc33b
Fixed bug in upper_u64() function. 2021-03-20 21:19:11 +01:00
111c714c6a
Small tweak to the key derivation function. 2021-03-20 21:19:08 +01:00
9d5a103201
Fixed a few warnings on Linux. 2021-03-20 21:18:52 +01:00
6c26203c30
Some code clean-up. 2021-03-20 21:18:46 +01:00
9c08cb9dd4
Use __attribute__((destructor)), if supported by the compiler. 2021-03-20 21:18:45 +01:00
9e1894b539
Some build fixes for old MSVC versions. 2021-03-20 21:18:44 +01:00
f3f97110f6
Automatically perform initialization when slunkcrypt_random_bytes() is called for the first time. 2021-03-20 21:18:43 +01:00
ae3318a12f
Improved library initialization code. 2021-03-20 21:18:41 +01:00
b577afba49
Replaced some endianness-specific code with endianness-agnostic functions. 2021-03-20 21:18:40 +01:00
ec7176feba
C++ wrapper has been implemented. 2021-03-20 21:18:39 +01:00
77c2cda5ee
Added global (de)initialization functions. 2021-03-20 21:18:38 +01:00
180945bd1b
Improved slunkcrypt_random_bytes() on Unix-systems without getrandom() support. 2021-03-20 21:18:36 +01:00
183b40f97d
Solaris compile fix. 2021-03-20 21:18:35 +01:00