I have put an initial version of raspberryPi hardware RNG
driver on sources.  Supposedly bcm2835 uses a reverse bias
transistor as a noise source (though I couldn't find anything
a definitive source for this). FWIW, I ran the output through
rngtest (does FIPS 140-2 tests) and the failure rate is about
the same as FreeBSD's (about 1 out of 1000).  rngtest tests at
a minimum 2*10^6 bits and plan9's stock /dev/random seems far
too slow so I didn't bother testing it.

Just copy /n/sources/contrib/bakul/random.c to sys/src/9/bcm
and rebuild 9pi.

Arguably this should be a new device, /dev/hrng or something,
but plan9's /dev/random code is very simple compared to the
elaborate versions on *BSD's. I have kept this one simple too.
If you are concerned about the quality of RNG or paranoid
about bcm2835's unpublic algorithm, feel free to complexify!

Reply via email to