summaryrefslogtreecommitdiff
path: root/crypto/testmgr.c
diff options
context:
space:
mode:
authorStephan Mueller <smueller@chronox.de>2015-05-25 15:10:20 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2015-05-27 17:51:54 +0800
commitbb5530e4082446aac3a3d69780cd4dbfa4520013 (patch)
tree4303ec9cfc45093ae835d642b043413965c1ce84 /crypto/testmgr.c
parentb8ec5ba42c4a3854e27c44e697d9b4f0b84b32bb (diff)
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 <andreas.steffen@strongswan.org> CC: Theodore Ts'o <tytso@mit.edu> CC: Sandy Harris <sandyinchina@gmail.com> Signed-off-by: Stephan Mueller <smueller@chronox.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/testmgr.c')
-rw-r--r--crypto/testmgr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 18172526e16d..277b3ac0ca1a 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -3106,6 +3106,10 @@ static const struct alg_test_desc alg_test_descs[] = {
}
}
}, {
+ .alg = "jitterentropy_rng",
+ .fips_allowed = 1,
+ .test = alg_test_null,
+ }, {
.alg = "lrw(aes)",
.test = alg_test_skcipher,
.suite = {