mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
random32: add test cases for taus113 implementation
We generated a battery of 100 test cases from GSL taus113 implemention
and compare the results from a particular seed and a particular
iteration with our implementation in the kernel. We have verified on
32 and 64 bit machines that our taus113 kernel implementation gives
same results as GSL taus113 implementation:
[ 0.147370] prandom: seed boundary self test passed
[ 0.148078] prandom: 100 self tests passed
This is a Kconfig option that is disabled on default, just like the
crc32 init selftests in order to not unnecessary slow down boot process.
We also refactored out prandom_seed_very_weak() as it's now used in
multiple places in order to reduce redundant code.
GSL code we used for generating test cases:
int i, j;
srand(time(NULL));
for (i = 0; i < 100; ++i) {
int iteration = 500 + (rand() % 500);
gsl_rng_default_seed = rand() + 1;
gsl_rng *r = gsl_rng_alloc(gsl_rng_taus113);
printf("\t{ %lu, ", gsl_rng_default_seed);
for (j = 0; j < iteration - 1; ++j)
gsl_rng_get(r);
printf("%u, %lu },\n", iteration, gsl_rng_get(r));
gsl_rng_free(r);
}
Joint work with Hannes Frederic Sowa.
Cc: Florian Weimer <[email protected]>
Cc: Theodore Ts'o <[email protected]>
Signed-off-by: Daniel Borkmann <[email protected]>
Signed-off-by: Hannes Frederic Sowa <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
a98814cef8
commit
a6a9c0f1bf
2 changed files with 196 additions and 6 deletions
|
|
@ -189,6 +189,13 @@ config AUDIT_GENERIC
|
|||
depends on AUDIT && !AUDIT_ARCH
|
||||
default y
|
||||
|
||||
config RANDOM32_SELFTEST
|
||||
bool "PRNG perform self test on init"
|
||||
default n
|
||||
help
|
||||
This option enables the 32 bit PRNG library functions to perform a
|
||||
self test on initialization.
|
||||
|
||||
#
|
||||
# compression support is select'ed if needed
|
||||
#
|
||||
|
|
|
|||
Loading…
Reference in a new issue