fdeaa9103e
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
569 B
Plaintext
19 lines
569 B
Plaintext
# RV32M1 entropy generator driver configuration
|
|
|
|
# Copyright 2019 NXP
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config ENTROPY_RV32M1_TRNG
|
|
bool "RV32M1 TRNG driver"
|
|
depends on SOC_OPENISA_RV32M1_RISCV32
|
|
select ENTROPY_HAS_DRIVER
|
|
help
|
|
This option enables the true random number generator (TRNG)
|
|
driver based on the RV32M1 TRNG driver.
|
|
|
|
# Don't use use the RV32M1 TRNG as a random source since it can be quite slow.
|
|
# Instead, use the software implemented xoshiro RNG.
|
|
choice RNG_GENERATOR_CHOICE
|
|
default XOSHIRO_RANDOM_GENERATOR if ENTROPY_RV32M1_TRNG
|
|
endchoice
|