Bull Mountain (IvyBridge +) random number generator
Konstantin Belousov
kostikbel at gmail.com
Sun Sep 2 10:34:11 UTC 2012
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20120902/8d3cbb2a/attachment.pgp
More information about the freebsd-current
mailing list