From mboxrd@z Thu Jan 1 00:00:00 1970 To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Date: Fri, 28 Mar 2014 10:19:30 -0700 From: Bakul Shah Message-Id: <20140328171930.EB2BCB827@mail.bitblocks.com> Subject: [9fans] bcm2835 random number generator Topicbox-Message-UUID: d23b3fd6-ead8-11e9-9d60-3106f5b1d025 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!