From bb5530e4082446aac3a3d69780cd4dbfa4520013 Mon Sep 17 00:00:00 2001 From: Stephan Mueller Date: Mon, 25 May 2015 15:10:20 +0200 Subject: crypto: jitterentropy - add jitterentropy RNG The CPU Jitter RNG provides a source of good entropy by collecting CPU executing time jitter. The entropy in the CPU execution time jitter is magnified by the CPU Jitter Random Number Generator. The CPU Jitter Random Number Generator uses the CPU execution timing jitter to generate a bit stream which complies with different statistical measurements that determine the bit stream is random. The CPU Jitter Random Number Generator delivers entropy which follows information theoretical requirements. Based on these studies and the implementation, the caller can assume that one bit of data extracted from the CPU Jitter Random Number Generator holds one bit of entropy. The CPU Jitter Random Number Generator provides a decentralized source of entropy, i.e. every caller can operate on a private state of the entropy pool. The RNG does not have any dependencies on any other service in the kernel. The RNG only needs a high-resolution time stamp. Further design details, the cryptographic assessment and large array of test results are documented at http://www.chronox.de/jent.html. CC: Andreas Steffen CC: Theodore Ts'o CC: Sandy Harris Signed-off-by: Stephan Mueller Signed-off-by: Herbert Xu --- crypto/testmgr.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'crypto/testmgr.c') diff --git a/crypto/testmgr.c b/crypto/testmgr.c index 18172526e16d..277b3ac0ca1a 100644 --- a/crypto/testmgr.c +++ b/crypto/testmgr.c @@ -3105,6 +3105,10 @@ static const struct alg_test_desc alg_test_descs[] = { .count = HMAC_SHA512_TEST_VECTORS } } + }, { + .alg = "jitterentropy_rng", + .fips_allowed = 1, + .test = alg_test_null, }, { .alg = "lrw(aes)", .test = alg_test_skcipher, -- cgit v1.2.3