created WHY2_PADDING_NONZERO_TRIES macro

when I try to generate random number, I need to prevent it from being zero, so I try this many times to be non-zero before I forcefully set it to 1

this should run few times but yk, theoretically the generated number can be the same for infinite time (or at least slow the performance :) )
This commit is contained in:
Václav Šmejkal 2024-11-21 20:50:20 +01:00
parent 7dcbd4fc80
commit 326f8f0768
Signed by: ENGO150
GPG Key ID: 4A57E86482968843

View File

@ -30,6 +30,8 @@ extern "C" {
#define WHY2_SUM_BASE_PRIME 31 //PRIME FOR SUM BASE #define WHY2_SUM_BASE_PRIME 31 //PRIME FOR SUM BASE
#define WHY2_SUM_MOD_PRIME 4294967295UL //PRIME FOR SUM MODULUS; 2^32 - 1 #define WHY2_SUM_MOD_PRIME 4294967295UL //PRIME FOR SUM MODULUS; 2^32 - 1
#define WHY2_PADDING_NONZERO_TRIES 1024 //HOW MANY RANDOM NUMBERS TO TRY TO GENERATE WHEN PREVENTING 0s
//FUNCTIONS //FUNCTIONS
unsigned long long why2_sum_segment(char *input); //CALCULATE SUM++ FOR input; USED FOR PADDING SEED unsigned long long why2_sum_segment(char *input); //CALCULATE SUM++ FOR input; USED FOR PADDING SEED
ssize_t why2_random(void *dest, size_t size); //WRITE CRYPTO-SECURE RANDOM NUMBER INTO dest ssize_t why2_random(void *dest, size_t size); //WRITE CRYPTO-SECURE RANDOM NUMBER INTO dest