a C++ take on Fortuna CSPRNG implementation, as devised by Niels Fergusson and Bruce Schneier in Practical Cryptography 🍀
Go to file
surtur a1cbbb209e
handle PRNG state in R_state + accumulator basis
* handle the PRNG state with R_state nested class
* add a private property R holding PRNG state to Fortuna
* add R_state properties as defined in Cryptography Engineering:
  * a generator instance
  * a reseed counter
  * 32 pools that the collected entropy is to be distributed over

* add initial definition of the Pool object and its initialization

* attempt to initialize PRNG in Fortuna constructor. wrap the
  initialization call in a try-catch block like a cultured person
* erase the string used to print data from random_data() after it's been
  used
2021-12-04 00:40:39 +01:00
lib feat: use fmt instead of iostreams 2021-11-18 22:05:05 +01:00
.clang-format initial commit 2021-10-24 21:29:49 +02:00
.clang-tidy makefile,pre-commit: add clang-tidy 2021-10-30 20:39:23 +02:00
.drone.starlark feat: use fmt instead of iostreams 2021-11-18 22:05:05 +01:00
.gitattributes add .gitattributes file 2021-10-24 21:34:16 +02:00
.gitignore gitignore: add .idea 2021-10-24 21:34:16 +02:00
.gitmodules feat: use fmt instead of iostreams 2021-11-18 22:05:05 +01:00
.pre-commit-config.yaml pre-commit: add 'make san' step 2021-12-03 20:34:45 +01:00
CMakeLists.txt handle PRNG state in R_state + accumulator basis 2021-12-04 00:40:39 +01:00
LICENSE initial commit 2021-10-24 21:29:49 +02:00
Makefile cmake,makefile: sanitize! 2021-12-02 18:34:07 +01:00
accumulator.cpp handle PRNG state in R_state + accumulator basis 2021-12-04 00:40:39 +01:00
accumulator.h handle PRNG state in R_state + accumulator basis 2021-12-04 00:40:39 +01:00
fortuna.cpp handle PRNG state in R_state + accumulator basis 2021-12-04 00:40:39 +01:00
fortuna.h handle PRNG state in R_state + accumulator basis 2021-12-04 00:40:39 +01:00
generator.cpp finalise generator 2021-11-30 14:09:39 +01:00
generator.h finalise generator 2021-11-30 14:09:39 +01:00
main.cpp finalise generator 2021-11-30 14:09:39 +01:00
pool.cpp handle PRNG state in R_state + accumulator basis 2021-12-04 00:40:39 +01:00
pool.h handle PRNG state in R_state + accumulator basis 2021-12-04 00:40:39 +01:00