zephyr/subsys/random/Kconfig
Leandro Pereira 5a272b027a subsys/random: Add Xoroshiro128+ PRNG
This adds an implementation of Xoroshiro128+ PRNG, based on the
original implementation at [1].  This pseudorandom number generator
will use the entropy driver to obtain the seed.

While it uses only 128 bits of state, it's pretty robust for non-crypto
safe applications.

[1] http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-11-01 08:26:29 -04:00

62 lines
1.8 KiB
Plaintext

# Kconfig - random configuration options
#
# Copyright (c) 2017 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
config TEST_RANDOM_GENERATOR
bool
prompt "Non-random number generator"
depends on !ENTROPY_HAS_DRIVER
default n
help
This option signifies that the kernel's random number APIs are
permitted to return values that are not truly random.
This capability is provided for testing purposes, when a truly random
number generator is not available. The non-random number generator
should not be used in a production environment.
choice
prompt "Random generator"
default ENTROPY_DEVICE_RANDOM_GENERATOR
config X86_TSC_RANDOM_GENERATOR
bool
prompt "x86 timestamp counter based number generator"
depends on TEST_RANDOM_GENERATOR && X86
help
This options enables number generator based on timestamp counter
of x86 boards, obtained with rdtsc instruction.
config TIMER_RANDOM_GENERATOR
bool
prompt "System timer clock based number generator"
depends on TEST_RANDOM_GENERATOR
help
This options enables number generator based on system timer
clock. This number generator is not random and used for
testing only.
config ENTROPY_DEVICE_RANDOM_GENERATOR
bool
prompt "Use entropy driver to generate random numbers"
depends on ENTROPY_HAS_DRIVER
help
Enables a random number generator that uses the enabled
hardware entropy gathering driver to generate random
numbers.
config XOROSHIRO_RANDOM_GENERATOR
bool
prompt "Use Xoroshiro128+ as PRNG"
depends on ENTROPY_HAS_DRIVER
help
Enables the Xoroshiro128+ pseudo-random number generator, that
uses the entropy driver as a seed source. This is not a
cryptographically secure random number generator.
It is so named because it uses 128 bits of state.
endchoice