]> www.infradead.org Git - users/jedix/linux-maple.git/commit
crypto: jitterentropy - add jitterentropy RNG
authorStephan Mueller <smueller@chronox.de>
Mon, 25 May 2015 13:10:20 +0000 (15:10 +0200)
committerSomasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
Wed, 13 Sep 2017 21:21:35 +0000 (14:21 -0700)
commit548229d5f66cfef3d0370d72fe5fd888c117a65d
tree99725047b5bc4154630dcee29c148bd3d8843400
parent0aa240962cdc221311c284dd3a64c711d340b977
crypto: jitterentropy - add jitterentropy RNG

Orabug: 26330509

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>
(cherry picked from commit bb5530e4082446aac3a3d69780cd4dbfa4520013)
Signed-off-by: Somasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
crypto/Kconfig
crypto/Makefile
crypto/jitterentropy.c [new file with mode: 0644]
crypto/testmgr.c