[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