]> git.baikalelectronics.ru Git - kernel.git/commit
crypto: jitterentropy - add jitterentropy RNG
authorStephan Mueller <smueller@chronox.de>
Mon, 25 May 2015 13:10:20 +0000 (15:10 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 27 May 2015 09:51:54 +0000 (17:51 +0800)
commit5841d2da20917ec0b9f62b52f129c1ab93906c91
tree4303ec9cfc45093ae835d642b043413965c1ce84
parent502f69f4ebbd0baca76b932bb2bb2394803f2eec
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>
crypto/Kconfig
crypto/Makefile
crypto/jitterentropy.c [new file with mode: 0644]
crypto/testmgr.c