Skip to content

Anti-backdoor pseudo-random and quite true-random numbers for critical applications

License

Notifications You must be signed in to change notification settings

lalebarde/ABaDooRand

Repository files navigation

#

ABaDooRand logo #

Welcome

ABaDooRand is a library that produces anti-backdoor pseudo-random numbers, thus, cryptographically secure PRNG (CSPRNG) and RNG (CSRNG). Since PRISM and Snowden 2013-2014 revelations, we by principle don't want to trust any library proposed for cryptography or random numbers, nor hardware random sources. The present library is an attempt to provide counter-measures against possible backdoors. The principle is to use at least two independent wellknown open-source libraries and to xor numbers produced by each of them. Of course, this is obtained at the cost of more cpu, so a batch of ready numbers is provided for immediate fetch.

In addition, both engines are used to periodically re-seed the other with independent periods, one being a prime.

ABaDooRand provides 32 bits and 64 bits getters.

Requirements

Follow the link here

Status

At present time, we use full gsl random generators capabilities with the uniform distribution. Libraries are dynamically linked and shall be available on your system.

To Do

  • Add other distributions than uniform
  • Add a batch to have a bag of ready random draws for tremendous performance
  • Add the cryptographic random generatorlibSodium CurveCP stream generator
  • Add the cryptographic random generator Fortuna
  • Add gsl-like API to be able to test ABaDooRand with DieHarder
  • Provide performance comparisons
  • Add reseed periods parametrization, and ressed (de)activation since some algorithms like Fortuna embeds this feature.
  • Add Autotools and CMake features
  • Add documentation
  • Re-implement the libsodium generator to make it deterministic when "pseudo RNG" is choosen.
  • Add a plugin abstraction mechanism for random sources.

Building and installation

TODO: Cf the INSTALL file included with the distribution. CMakeLists.txt, configure.ac and Makefile.am are in draft state.

Use

Cf tests/ABaDooRand_test.cpp

Resources

TODO: Documentation is provided with the distribution. Refer to doc/abadoorand.html, or "man abadoorand" after you have installed ABaDooRand on your system.

Mailing list: [email protected]

Git repository: http://github.com/lalebarde/abadoorand

Licensing

Cf here.

About

Anti-backdoor pseudo-random and quite true-random numbers for critical applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published