[cryptography] Intel RNG

James Cloos cloos at jhcloos.com
Sat Jun 18 02:11:08 EDT 2011

>>>>> "PG" == Peter Gutmann <pgut001 at cs.auckland.ac.nz> writes:

PG> Does this mean it's unavailable in 32-bit mode?

Unlikely; see below.

PG> What does the notation "0F C7 /6" indicate in terms of encoding?  It
PG> looks like RdRand r16 and r32 have the same encoding, or do you
PG> encode (for example) r16 vs. r32 in whatever the "/6" signifies?
PG> How would you encode, for example, 'RdRand eax'?

AIUI, when the 32-bit and 16-bit versions have the same opcode, that
generally means that when the cpu is in 16-bit mode (such as when running
venerable DOS or the BIOS) that opcode works on 16-bit registers and
when the processor is in 32-bit or 64-bit mode that same opcode works
on 32-bit registers.

>From p 8-15 of 319433-011.pdf, I presume that the assembly would look like;

     RDRAND eax  ; randomize 32-bit register eax
     RDRAND rdx  ; randomize 64-bit register rax

and, in 16-bit code:

     RDRAND al  ;  randomize 16-bit register al

James Cloos <cloos at jhcloos.com>         OpenPGP: 1024D/ED7DAEA6

More information about the cryptography mailing list