f3dc0757ab
Implemented optional debug logging. Writes to the syslog (Unix) or debugger (Windows).
2022-10-14 00:44:19 +02:00
38cf7c3c25
Some code refactoring + adjust number of random skips.
2022-10-13 21:39:48 +02:00
147d762ebc
Implemented modified and somewhat faster initialization code.
...
As this unavoidably breaks compatibility with pre-1.3.x versions, added a new flag to 'slunkparam_t' that enables backwards compatibility mode.
Also extended the self-test code to test the new initialization, in addition to the "legacy" initialization.
2022-10-13 02:26:51 +02:00
d988fd0a56
Added flag to indicate multi-thread support to the public API.
2022-09-23 22:21:01 +02:00
0c91cac7e4
Clean up includes in "front-end" application.
2022-09-20 21:52:23 +02:00
50955210ac
Small improvement to platform detection.
2022-04-08 23:10:27 +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
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
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
c607046831
Implemented improved method for detecting identical files.
2022-03-04 20:56:20 +01:00
65c17e6759
Make sure that input file name and output file name are distinct (to the extent possible).
2022-02-25 00:12:52 +01:00
65f08d43a5
Replaced clock() function by clock_gettime() on Linux and QueryPerformanceFrequency() on Windows.
2022-02-11 21:52:22 +01:00
b39b7cafaa
Small improvement to the password generator.
2022-02-08 22:53:02 +01:00
1c587be39b
Gracefully handle an *empty* argument array (argc < 1), which apparently is possible on Linux and maybe others.
2022-01-27 00:21:28 +01:00
61fa41c888
GUI: Added button to generate a random password to the "Encrypt" tab.
2021-05-08 19:53:15 +02:00
502e92ee09
Added a simple GUI front-end for Windows platform.
2021-05-04 21:35:30 +02:00
7f643ad566
Do not request more than 256 bytes of random data from getentropy() at once.
2021-04-21 16:02:25 +02:00
b7e32f5f0a
Refactored passphrase generator into a separate file.
2021-04-18 22:19:17 +02:00
46dc28f3ca
Refactored encryption/decryption routines as well as the self-test routine into separate files.
2021-04-18 15:32:37 +02:00
ff48e473a9
Print a warning when ignoring excess command-line arguments.
2021-04-11 20:55:39 +02:00
a9e1974149
Improved test cases to also verify the checksum of the ciphertext.
2021-04-10 16:37:09 +02:00
3cdfc9d9ab
Small tweak to self-test routine.
2021-04-08 02:38:01 +02:00
0e75e05fda
Small code simplification in open_files() function.
2021-04-07 02:28:26 +02:00
4ce6e5b828
Remove an incomplete (or corrupted) output file by default.
2021-04-03 19:26:15 +02:00
06f57ca483
Clean up function names.
2021-04-02 16:37:19 +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
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
bdab06cd80
Don't require environment variable to start with "pass:" prefix + some code clean-up.
2021-03-26 01:48:30 +01:00
7fb9a517fe
Silenced some compiler warnings, found by Clang.
2021-03-24 20:23:14 +01:00
ded1220a13
Improved command-line syntax for passing the passphrase + Updated README file.
2021-03-22 22:52:00 +01:00
0b7777fc3e
More thorough cleaning of encryption/decryption state and buffers.
2021-03-21 16:46:22 +01:00
d8f446832b
Replaced some more byte-order-specific code with a byte-order-agnostic implementation.
2021-03-20 21:19:13 +01:00
2e74accf36
Don't set 'stdout' to _O_BINARY mode on Windows, because it can have some weird effect when printing text to the terminal. Also, we currently don't output any "binary" data to 'stdout' anyway.
2021-03-20 21:19:10 +01:00
fe1398fdcb
Implemented checksum based on BLAKE2s hash function.
2021-03-20 21:19:07 +01:00
b998dc5947
Obfuscate nonce in output file, by XOR'ing with the first digits of PI.
2021-03-20 21:19:01 +01:00
f250143f8b
Slightly improved cleansing of the command-line on Win32.
2021-03-20 21:18:59 +01:00
334d828c5b
Slightly improved storage of the padding size.
2021-03-20 21:18:59 +01:00
86af5fa51f
Added new option to generate a random passphrase.
2021-03-20 21:18:58 +01:00
fb4f429493
Ignore excess bytes, if length of input file is *not* an integer multiple of 8.
2021-03-20 21:18:57 +01:00
c530556e94
Implemented a simple padding scheme.
2021-03-20 21:18:56 +01:00
9d5a103201
Fixed a few warnings on Linux.
2021-03-20 21:18:52 +01:00
f889facba1
Fix for older versions of 'dd' that did not support the 'status=none' flag.
2021-03-20 21:18:51 +01:00
f3f97110f6
Automatically perform initialization when slunkcrypt_random_bytes() is called for the first time.
2021-03-20 21:18:43 +01:00
0f7c309034
Store and load the Nonce as well as the CRC checksum in a byte-order-agnostic way.
2021-03-20 21:18:42 +01:00
ec7176feba
C++ wrapper has been implemented.
2021-03-20 21:18:39 +01:00
49cc6ec674
Implemented Win32 DLL support.
2021-03-20 21:18:38 +01:00
77c2cda5ee
Added global (de)initialization functions.
2021-03-20 21:18:38 +01:00
24574712d1
Use RtlGenRandom() directly on the Windows platform.
2021-03-20 21:18:35 +01:00
39d9aab439
Some compatibility fixes for legacy MinGW and Cygwin.
2021-03-20 21:18:33 +01:00