Fortuna cryptographic random number generator in Go
Go Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
git-hooks-go @ bb64cc7
testdata
.gitmodules
.travis.yml
LICENSE
README.md
counter.go
counter_test.go
double_hash.go
double_hash_test.go
fortuna.go
fortuna_test.go
generator.go
generator_test.go
presubmit.py

README.md

Fortuna cryptographic random number generator implementation in Go

Fortuna implements the fortuna cryptographic random number generator as designed by Bruce Schneier and Niels Ferguson and described in Cryptography Engineering, N. Ferguson, B. Schneier, T. Kohno, ISBN 978-0-470-47424-2. It was implemented by Marc-Antoine Ruel.

Fortuna is best used in a long living server like a web server, where a lot of unpredictable events occurs and can be used to seed the accumulator. The implementation uses SHA-256 and AES-256 as the primitives.

This package includes all the necessary implementation and a python generator implementation for testing purposes.

GoDoc Build Status Coverage Status

References

All the pages (p.) references are to Cryptography Engineering, N. Ferguson, B. Schneier, T. Kohno, ISBN 978-0-470-47424-2.

Chapter 9 of Cryptography Engineering is freely available at https://www.schneier.com/fortuna.pdf.