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 | ||