libpfrng v0.0.8 is out.
libpfrng is userspace true random number generator based on CPU timings jitter. The idea has been stolen from jitterentropy project (http://www.chronox.de/jent/doc/CPU-Jitter-NPTRNG.html
) and reimplemented by me in different manner.
libpfrng utilizes OpenMP power being able to generate ~200 KiB of high quality random data per second on my i7-3517U. It feels OK with -Ofast optimization and is written in pure C following C99 standard.
libpfrng passes entropy test (with 8 bits per byte), NIST and FIPS tests, and spectra test as well. It's high-rated on CAcert RNG site (http://www.cacert.at/cgi-bin/rngresults
, in fact, best RNG for now there :)).
Along with libpfrng itself source tarball contains several test examples and useful pfrng-feeder daemon that fills Linux entropy pool with random data using (surprise) libpfrng.
There are no new features introduced, it's mostly bugfix release. The most prominent change is protecting fast RNG functions with mutex, so now they are thread-safe.
To build libpfrng you have to have nothing more than g++ with gomp and cmake. In fact libpfrng uses gcc-only optimizations but is able to be compiled by clang as well (single-threaded mode only).
Please check libpfrng github page here: https://github.com/pfactum/libpfrng/
Also you are welcome to download fresh tarball directly: https://github.com/pfactum/libpfrng/archive/v0.0.8.tar.gz
It's OK to send me pull requests, comments, to criticize my code, personally me and the way I do this project.