Dear all,

I have written an implementation of the Fortuna random number generator in
Fortuna is a cryptographically strong random number generator, first
described in
the book "Practical Cryptography" by N. Ferguson and B. Schneier (Wiley,
In the hope that this might be useful for others, I have put my

     homepage: http://www.seehuhn.de/pages/fortuna
     source code: https://github.com/seehuhn/fortuna
     documentation: http://godoc.org/github.com/seehuhn/fortuna

Comments would be very welcome.

A call for help:

- If you are a cryptographer and could review the correctness and
   security of my implementation, this would be great! Did I understand
   right that integrating the pool counters for the round-robin
   distribution of entropy into the Fortuna package might introduce a
   security weakness? (Section 10.5.3 of Practical Cryptography seems to
   indicate this, but I don't fully understand the argument.)

- If you are a Go programmer and could review my Go code, this
   would be great! Is my code ideomatic? Does the API look plausible?
   Did I get the locking right? Is the way I stop the
   Accumulator.seedFileTicker in accumulator.go correct?

- Are there any test vectors for Fortuna available? Currently I am using
   output from the Python Cryptography Toolkit for testing, but a more
   authoritative source of test data would be useful.

- If you know about other implementations of Fortuna and could check
   whether, for identical seeds, these give the same output as my
   implementation, this would be great!

- If you know how to use automated tests for random number generators
   (e.g. the "die hard tests" or "FIPS SP 800-22") and if you could test the
   output of my implementation, this would be great.
   The fortuna web page http://www.seehuhn.de/pages/fortuna shows
   a simple example program which could be used to generate
   output to feed into these tests.

- If anybody could contribute more unit tests this would be great!

Many thanks,

You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupgolang-nuts @
postedJul 23, '13 at 2:15p
activeJul 23, '13 at 2:15p

1 user in discussion

Jochen Voss: 1 post



site design / logo © 2021 Grokbase