Deprecate the xoroshiro128+ PRNG algorithm in favour of xoshiro128++. xoshiro128++ is a drop-in replacement which is invisible from the user perspective. xoroshiro128+ is unsuitable because it is explicitly a floating-point PRNG, not a general-purpose PRNG. This means that the lower 4 bits of the output are actually linear, not random (from the designers, https://prng.di.unimi.it/). This means 1/8th of the generated data is not random. Additionally, xoroshiro128+ is not a 32bit algorithm, it operates on 64bit numbers. For the vast majority of Zephyr devices, this makes the PRNG slower than it needs to be. The replacement (xoshiro128++) is 32bit, with no loss in state space (still 128 bit). Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
19 lines
567 B
YAML
19 lines
567 B
YAML
tests:
|
|
crypto.rand32:
|
|
tags: crypto random security
|
|
min_ram: 16
|
|
crypto.rand32.random_sw_systimer:
|
|
extra_args: CONF_FILE=prj_sw_random_systimer.conf
|
|
tags: crypto random security
|
|
min_ram: 16
|
|
crypto.rand32.random_hw_xoshiro:
|
|
extra_args: CONF_FILE=prj_hw_random_xoshiro.conf
|
|
filter: CONFIG_ENTROPY_HAS_DRIVER
|
|
tags: crypto entropy random security
|
|
min_ram: 16
|
|
crypto.rand32.random_ctr_drbg:
|
|
extra_args: CONF_FILE=prj_ctr_drbg.conf
|
|
filter: CONFIG_ENTROPY_HAS_DRIVER
|
|
tags: crypto entropy random security
|
|
min_ram: 16
|