[Cryptography] ChaCha20 DRNG
Stephan Mueller
smueller at chronox.de
Thu Aug 4 08:22:08 EDT 2016
Hi,
As part of the development of my "Linux Random Number Generator -- a new
approach to the Linux /dev/random" project, I implemented a DRNG based on
ChaCha20.
This DRNG is now extracted into a standalone code base and is provided at [1].
The DRNG is completely standalone in the sense that it does not require
services from any library other than libc. This implies that it implements all
cryptographic aspects itself.
The implementation is very small with some 400 lines of code. The
implementation draws ideas from SP800-90A, AIS 20/31 and Peter Gutmann's work:
* the DRNG seeds itself
* the DRNG reseeds itself when reaching a time-based or volume-based threshold
* the DRNG performs a continuous reseeding using a high-resolution time stamp
* the DRNG implements enhanced backward secrecy
A complete documentation, including its API is given at [1].
[1] http://www.chronox.de/chacha20_drng.html
Ciao
Stephan
More information about the cryptography
mailing list