ChaCha20 DRNG

Source Code

The following source code contains the implementation of the ChaCha20 DRNG.

Link Changes

chacha20_drng-1.0.0

Signature

Initial version

chacha20_drng-1.1.0

Signature

  • fix invocation of getrandom syscall (thanks to Patrick)
  • remove debug printf
  • use private name space for version macros (suggested by Jason Cooper)
  • add API calls to obtain version of implementation (suggested by Jason Cooper)

chacha20_drng-1.2.0

Signature

  • place version macros into the C so that they are private (thanks to Jason Cooper)
  • add license files (thanks to Jason Cooper)
  • change drng_chacha20_versionstring to return the snprintf error (thanks to Jason Cooper)

chacha20_drng-1.2.1

Signature

  • make implementation of chacha20_update faster by using one loop
  • initialize the ChaCha20 key state with a time stamp
  • catch return code of mlock
  • enhance tests

chacha20_drng-1.2.2

Signature

  • Minor changes to compile on embedded systems (thanks to Jason Cooper)

chacha20_drng-1.3.0

Signature

  • Add ChaCha20 DRNG self test
  • Bug fix drng_chacha20_alloc: if mlock fails, deallocate memory
  • Update Jitter RNG to version 2.1.0
  • Support multiple noise sources concurrently

2017-12-12 smueller at chronox.de