Obfuscate nonce in output file, by XOR'ing with the first digits of PI.
This commit is contained in:
parent
6ca1f55b82
commit
b998dc5947
@ -34,7 +34,7 @@
|
|||||||
#define SLUNK_MODE_PASS 4
|
#define SLUNK_MODE_PASS 4
|
||||||
#define SLUNK_MODE_TEST 5
|
#define SLUNK_MODE_TEST 5
|
||||||
|
|
||||||
static const CHR *const ENVV_PASSWD_NAME = T("SLUNK_PASSPHRASE");
|
static const CHR* const ENVV_PASSWD_NAME = T("SLUNK_PASSPHRASE");
|
||||||
static const char PASSWD_SYMBOLS[] =
|
static const char PASSWD_SYMBOLS[] =
|
||||||
{
|
{
|
||||||
'!', '#', '$', '%', '&', '(', ')', '*', '+', ',', '-', '.', '/', '0', '1',
|
'!', '#', '$', '%', '&', '(', ')', '*', '+', ',', '-', '.', '/', '0', '1',
|
||||||
@ -45,6 +45,8 @@ static const char PASSWD_SYMBOLS[] =
|
|||||||
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '}', '~'
|
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '}', '~'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const uint64_t MAGIC_NUMBER = 0x243F6A8885A308D3ull;
|
||||||
|
|
||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
// Auxiliary functions
|
// Auxiliary functions
|
||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
@ -271,7 +273,7 @@ static int encrypt(const char* const passphrase, const CHR* const input_path, co
|
|||||||
goto clean_up;
|
goto clean_up;
|
||||||
}
|
}
|
||||||
|
|
||||||
nonce = swap_bytes_u64(nonce);
|
nonce = swap_bytes_u64(nonce ^ MAGIC_NUMBER);
|
||||||
if (fwrite(&nonce, sizeof(uint64_t), 1U, file_out) < 1U)
|
if (fwrite(&nonce, sizeof(uint64_t), 1U, file_out) < 1U)
|
||||||
{
|
{
|
||||||
FPUTS(T("\n\nI/O error: Failed to write nonce value!\n\n"), stderr);
|
FPUTS(T("\n\nI/O error: Failed to write nonce value!\n\n"), stderr);
|
||||||
@ -433,7 +435,7 @@ static int decrypt(const char* const passphrase, const CHR* const input_path, co
|
|||||||
goto clean_up;
|
goto clean_up;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx = slunkcrypt_alloc(swap_bytes_u64(nonce), (const uint8_t*)passphrase, strlen(passphrase));
|
ctx = slunkcrypt_alloc(swap_bytes_u64(nonce) ^ MAGIC_NUMBER, (const uint8_t*)passphrase, strlen(passphrase));
|
||||||
if (!ctx)
|
if (!ctx)
|
||||||
{
|
{
|
||||||
FPUTS(g_slunkcrypt_abort_flag ? T("\n\nProcess interrupted!\n\n") : T("\n\nSlunkCrypt error: Failed to initialize decryption!\n\n"), stderr);
|
FPUTS(g_slunkcrypt_abort_flag ? T("\n\nProcess interrupted!\n\n") : T("\n\nSlunkCrypt error: Failed to initialize decryption!\n\n"), stderr);
|
||||||
|
Loading…
Reference in New Issue
Block a user