a C++ take on Fortuna CSPRNG implementation, as devised by Niels Fergusson and Bruce Schneier in Practical Cryptography 🍀
Go to file
surtur a64b52e5a4
finalise generator
this commit adds a (nearly) complete implementation of the generator.

* wrap calls to generator in a fortuna class method random_data
  * calls generator's method generate_random_data, that internally calls
    generate_blocks
* use a proper 256bit key in G_state
* add reseed method implementation
* call a reseed in initialize_generator
* do_sha returns proper digest now
* add proper do_crypto implementation
  * call generate_blocks internally
  * handle re-keying
* optimise header includes

TODO: there are still many commented (enabled on demand) debugging statements
-> TO BE REMOVED
2021-11-30 13:57:42 +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 refactor(all): using namespace considered harmful 2021-11-13 22:13:50 +01:00
CMakeLists.txt cmake: compile PIC with "-fPIC" 2021-11-20 22:31:55 +01:00
LICENSE initial commit 2021-10-24 21:29:49 +02:00
Makefile makefile: cppcheck suppress "missingIncludeSystem" 2021-11-20 22:31:55 +01:00
fortuna.cpp finalise generator 2021-11-30 13:57:42 +01:00
fortuna.h fix(fortuna): add end-of-namespace comment 2021-11-19 20:59:12 +01:00
generator.cpp finalise generator 2021-11-30 13:57:42 +01:00
generator.h finalise generator 2021-11-30 13:57:42 +01:00
main.cpp finalise generator 2021-11-30 13:57:42 +01:00