Update arc4random.c

This commit is contained in:
ryndia 2022-09-07 20:16:20 +04:00 committed by GitHub
parent 007db2c327
commit cfc656294e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -22,7 +22,7 @@
/*
* ChaCha based random number generator for OpenBSD.
*/
#define REKEY_BASE (1024*1024) //base 2
#include <fcntl.h>
#include <limits.h>
#include <signal.h>
@ -179,7 +179,7 @@ static void
_rs_stir(void)
{
u_char rnd[KEYSZ + IVSZ];
uint32_t rekey_fuzz = 0;
if (getentropy(rnd, sizeof rnd) == -1) {
if(errno != ENOSYS ||
fallback_getentropy_urandom(rnd, sizeof rnd) == -1) {
@ -201,7 +201,9 @@ _rs_stir(void)
rs->rs_have = 0;
memset(rsx->rs_buf, 0, sizeof(rsx->rs_buf));
rs->rs_count = 1600000;
/*rs->rs_count = 1600000;*/
chacha_encrypt_bytes(&rsx->rs_chacha, (uint8_t *)&rekey_fuzz,(uint8_t *)&rekey_fuzz, sizeof(rekey_fuzz));
rs->rs_count = REKEY_BASE + (rekey_fuzz % REKEY_BASE);
}
static inline void