Bull Mountain (IvyBridge +) random number generator

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Sun, 2 Sep 2012 13:34:06 +0300
It is relatively well known that Ivy Bridge CPUs (Core iX 3XXX) have
built-in hardware random number generator, which is claimed to be both
very fast and high quality. Generator is accessible using non-privileged
RDRAND instruction. It is claimed that CPU performs sanitization of the
random sequence. In particular, it seems that paranoid AES encryption of
the raw random stream, performed by our padlock driver, is not needed
for Bull Mountain (there are hints that hardware performs it already).

See
http://spectrum.ieee.org/computing/hardware/behind-intels-new-randomnumber-generator/0
http://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide/
and IA32 ADM.

Patch at
http://people.freebsd.org/~kib/misc/bull_mountain.2.patch
implements support for the generator. I do not own any IvyBridge machines,
so I cannot test. Patch makes both padlock and bull generators the options,
you need to enable IVY_RNG to get support for the generator.

I would be interested in seeing reports including verbose boot dmesg,
and some tests of /dev/random quality on the IvyBridge machines, you can
start with http://lists.gnupg.org/pipermail/gnupg-devel/2000-March/016328.html.

Thanks.

Received on Sun Sep 02 2012 - 08:34:11 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:30 UTC