zephyr/subsys/random
Jordan Yates 688fc737a8 random: add xoshiro128++ PRNG source
Adds an implementation of xoshiro128++ as a pseudo random number
generator from https://prng.di.unimi.it/ that operates on 32bit words.

The algorithm postfix signifies the main operation in the generation
function. Therefore xoshiro++ is chosen over xoshiro** as we would
prefer to do 2 additions isntead of 2 multiplications on embedded
hardware. The quality of the generators appears to be the same in all
other respects.

xoshiro+ is not chosen despite being faster as it generates random
floating-point values, not general purpose random values (The lower 4
bits are linear).

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2021-08-05 11:24:44 +02:00
..
CMakeLists.txt random: add xoshiro128++ PRNG source 2021-08-05 11:24:44 +02:00
Kconfig random: add xoshiro128++ PRNG source 2021-08-05 11:24:44 +02:00
rand32_ctr_drbg.c random: ctr_drbg: Fix the error path in sys_csrand_get 2020-12-01 10:20:06 -06:00
rand32_entropy_device.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
rand32_handlers.c random: Add syscalls for random subsystem 2020-07-08 21:05:36 -04:00
rand32_timer.c random: rand32_timer: Avoid alignment faults by using memcpy 2021-04-16 15:34:59 -04:00
rand32_xoroshiro128.c rand: xoroshiro128: fix buffer overflow 2020-11-11 15:02:04 -06:00
rand32_xoshiro128.c random: add xoshiro128++ PRNG source 2021-08-05 11:24:44 +02:00