mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-16 10:03:50 +01:00
sys/random: fix SHAxPRNG init_by_array
This commit is contained in:
parent
c46d75d486
commit
9cf9638fdc
@ -78,7 +78,7 @@ void random_init(uint32_t s);
|
|||||||
* slight change for C++, 2004/2/26
|
* slight change for C++, 2004/2/26
|
||||||
*
|
*
|
||||||
* @param init_key array of keys (seeds) to initialize the PRNG
|
* @param init_key array of keys (seeds) to initialize the PRNG
|
||||||
* @param key_length number of lements in init_key
|
* @param key_length number of elements in init_key
|
||||||
*/
|
*/
|
||||||
void random_init_by_array(uint32_t init_key[], int key_length);
|
void random_init_by_array(uint32_t init_key[], int key_length);
|
||||||
|
|
||||||
|
|||||||
@ -149,7 +149,7 @@ void _random_bytes(uint8_t *bytes, size_t size)
|
|||||||
void random_init_by_array(uint32_t init_key[], int key_length)
|
void random_init_by_array(uint32_t init_key[], int key_length)
|
||||||
{
|
{
|
||||||
_shax_init(&ctx);
|
_shax_init(&ctx);
|
||||||
_shax_update(&ctx, init_key, key_length);
|
_shax_update(&ctx, init_key, key_length * sizeof(uint32_t));
|
||||||
_shax_final(&ctx, digestdata);
|
_shax_final(&ctx, digestdata);
|
||||||
|
|
||||||
/* copy SHA digestdata to PRNG state */
|
/* copy SHA digestdata to PRNG state */
|
||||||
@ -161,7 +161,7 @@ void random_init_by_array(uint32_t init_key[], int key_length)
|
|||||||
|
|
||||||
void random_init(uint32_t seed)
|
void random_init(uint32_t seed)
|
||||||
{
|
{
|
||||||
random_init_by_array((uint32_t *)&seed, sizeof(seed));
|
random_init_by_array((uint32_t *)&seed, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t random_uint32(void)
|
uint32_t random_uint32(void)
|
||||||
|
|||||||
@ -57,7 +57,7 @@ static void test_prng_sha1prng_java_u32(void)
|
|||||||
/* seed the generator with 8 bytes similar to the java reference
|
/* seed the generator with 8 bytes similar to the java reference
|
||||||
* implementation
|
* implementation
|
||||||
*/
|
*/
|
||||||
random_init_by_array(seed, sizeof(seed));
|
random_init_by_array(seed, ARRAY_SIZE(seed));
|
||||||
|
|
||||||
/* request random samples */
|
/* request random samples */
|
||||||
for (unsigned i = 0; i < ARRAY_SIZE(seq_seed1); i++) {
|
for (unsigned i = 0; i < ARRAY_SIZE(seq_seed1); i++) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user