mirror of
https://github.com/jedisct1/libsodium.git
synced 2026-08-25 08:37:13 +09:00
Leverage randombytes_salsa20_random_rekey()
This commit is contained in:
@@ -221,6 +221,17 @@ randombytes_salsa20_random_init(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
randombytes_salsa20_random_rekey(const unsigned char * const mix)
|
||||
{
|
||||
unsigned char *key = stream.key;
|
||||
size_t i;
|
||||
|
||||
for (i = (size_t) 0U; i < sizeof stream.key; i++) {
|
||||
key[i] ^= mix[i];
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
randombytes_salsa20_random_stir(void)
|
||||
{
|
||||
@@ -267,9 +278,7 @@ randombytes_salsa20_random_stir(void)
|
||||
COMPILER_ASSERT(sizeof stream.key == crypto_auth_hmacsha512256_BYTES);
|
||||
crypto_auth_hmacsha512256(stream.key, k0, sizeof_k0, s);
|
||||
COMPILER_ASSERT(sizeof stream.key <= sizeof m0);
|
||||
for (i = (size_t) 0U; i < sizeof stream.key; i++) {
|
||||
stream.key[i] ^= m0[i];
|
||||
}
|
||||
randombytes_salsa20_random_rekey(m0);
|
||||
sodium_memzero(m0, sizeof m0);
|
||||
#ifndef _MSC_VER
|
||||
stream.pid = getpid();
|
||||
@@ -292,17 +301,6 @@ randombytes_salsa20_random_stir_if_needed(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
randombytes_salsa20_random_rekey(const unsigned char * const mix)
|
||||
{
|
||||
unsigned char *key = stream.key;
|
||||
size_t i;
|
||||
|
||||
for (i = (size_t) 0U; i < sizeof stream.key; i++) {
|
||||
key[i] ^= mix[i];
|
||||
}
|
||||
}
|
||||
|
||||
static uint32_t
|
||||
randombytes_salsa20_random_getword(void)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user