Jitter RNG :: Time - The final frontier
Time - The final frontier ><br>Jitter RNG
Jitter RNG
The CPU Jitter Random Number Generator provides a non-physical true random number generator that works equally in kernel and user land. The only prerequisite is the availability of a high-resolution timer that is available in modern CPUs.
It is the first software-based entropy source that is suitable to provide:
with one configuration
an SP800-90B compliant entropy source, and
an AIS 20/31 NTG.1 compliant entropy source
at the same time after applying the SP800-90B configuration or the AIS 20/31 NTG.1 configuration and demonstrating the required entropy rate following the specified validation and test methodology.
Both NIST/CMVP and the German BSI confirmed that the Jitter RNG is suitable for the specified compliance claims. Note that the actual confirmation of such claims will only be applied for a particular instance of the Jitter RNG on a particular hardware after completing the testing provided with the Jitter RNG source code distribution.
GitHub Links
The source code of the following Jitter RNG components is publicly available:
Jitter RNG Userspace Library provides a shared library that a consuming application or other library can link to. The consumer is able to receive fresh entropy from the Jitter RNG library where the data is stored in a caller-provided buffer. This library is independent of and does not rely on the following implementation.
Jitter RNG Daemon is a Linux “rngd”. This rngd is a daemon that collects entropy and injects it by using an IOCTL into the Linux kernel via /dev/random. This daemon has a build-in copy of the Jitter RNG library and can be compiled standalone from the library and thus does not depend on the Jitter RNG library.
Validation-related Information
When using the Jitter RNG to complete an SP800-90B or NTG.1 validation, the following information is to be observed.
Version Information
The following version information is applicable for user space:
Latest version: 3.7.0
Active versions: >= 3.4.1
Deprecated versions:<br>The following version information is applicable for kernel space:
Active versions: >= 3.4.0
Compliance Claim
The following compliance is claimed for the different versions when using with the applicable configuration:
Jitter-RNG Version<br>SP800-90B Compliance<br>AIS 20/31 NTG.1 Compliance
>= 3.4.0<br>compliant<br>not compliant
>= 3.7.0<br>compliant<br>compliant
Applied Conditioning Function
The following conditioning functions are implemented for the Jitter RNG:
Jitter-RNG Version<br>Conditioning Function
>= 3.4.0<br>SHA3-256
>= 3.7.0<br>Two serialized SHAKE-256 instances
Documentation
The reference to the applicable documentation is given with the various releases.
The latest documentation applies to the current version.
The Jitter RNG v2.2.0 documentation documents the Jitter RNG copy found in older Linux kernels.
Request For Help
I am looking for CPUs that are not listed in appendix F of the documentation. If you happen to have such a CPU with a Unix-ish operating system and you want to help me to gather more evidence on the appropriateness of the CPU Jitter random number generator, please perform the following:
Get the current library source code, unpack it
cd /tests/raw_entropy/recording_userspace
execute invoke_testing.sh
Send the result of the execution found in the directory results_measurements to me
Archive with Test Results
The archive with all collected test data is available at this location.
Historic Releases
For older releases, see the Jitter RNG historic page.
chronox.de
Search
Home
Submenu Jitter RNGJitter RNG<br>Jitter RNG 3.7.0
Jitter RNG 3.6.3
Jitter RNG 3.6.2
Jitter RNG 3.6.1
Jitter RNG 3.6.0
Jitter RNG 3.5.0
Jitter RNG 3.4.1
Submenu LRNGLRNG<br>LRNG v60
LRNG v59
LRNG v58
LRNG v57
LRNG v56
LRNG v55
LRNG v54
LRNG v53
Submenu libkcapilibkcapi<br>libkcapi 1.5.1
libkcapi 1.5.0
Leancrypto
Submenu ESDMESDM<br>ESDM 1.2.3
ESDM 1.2.2
ESDM 1.2.1
ESDM 1.2.0
ESDM 1.1.1
ESDM 1.1.0
ESDM 1.0.2
ESDM 1.0.1
ESDM 1.0.0
ESDM 0.6.0
ESDM 0.5.0
ESDM 0.4.0
ESDM 0.3.0
ESDM 0.2.0
ACVP Parser
Submenu ACVP ProxyACVP Proxy<br>ACVP Proxy 2.0.0
Submenu Chacha20 DRNGChacha20 DRNG<br>ChaCha20 DRNG 1.3.1
Cryptoperf
Papers
About This Site
More
Jitter RNG
LRNG
libkcapi
ESDM
ACVP Parser
ACVP Proxy
Built with by Hugo