On 12/25/2010 08:10 AM, BMF wrote: > On Fri, Dec 24, 2010 at 5:08 PM, Dan Kaminsky <d...@doxpara.com> wrote: >> Don't we have hardware RNG in most motherboard chipsets nowadays? > Do we? By what mechanism do they operate? There are several external (USB/PCI) devices which operate either on analogous effects (using for example a PLL) or even digital effects such as circuit jitter. I've implemented this on an FPGA before using repeated open/close of a short circuit that contains several inverters. The result is based on the underlying logic blocks which contain jitter due to the production process. There are several papers available on that topic (search for "true hardware RNG FPGA" for example).
As for internal (on-board) RNGs, there is for example the TPM. If you have a TPM on your mainboard, then you can use it as an RNG. The TPM specification recommends using clock jitter and thermal noise in the chip to seed a state machine that will perform the actual random number generation through hashing/mixing (so it's not a direct source of hardware randomness but rather a seeded PRNG). To find out about the quality of such an RNG, one can collect a sufficiently large sample and then run RNG tests on it, such as NIST's tests (http://csrc.nist.gov/groups/ST/toolkit/rng/index.html) or external tools like "dieharder" (http://www.phy.duke.edu/~rgb/General/dieharder.php). Best, Chris _______________________________________________ Full-Disclosure - We believe in it. Charter: http://lists.grok.org.uk/full-disclosure-charter.html Hosted and sponsored by Secunia - http://secunia.com/