a C++ take on Fortuna CSPRNG implementation, as devised by Niels Fergusson and Bruce Schneier in Practical Cryptography 🍀
All checks were successful
continuous-integration/drone/push Build is passing
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 |
||
---|---|---|
lib | ||
.clang-format | ||
.clang-tidy | ||
.drone.starlark | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.pre-commit-config.yaml | ||
CMakeLists.txt | ||
fortuna.cpp | ||
fortuna.h | ||
generator.cpp | ||
generator.h | ||
LICENSE | ||
main.cpp | ||
Makefile |