Hacker News new | ask | show | jobs
by PhantomGremlin 1927 days ago
I think it was a mistake for Intel to try to provide user-level hardware random number generation.

They probably did this for speed. Faster than library calls or system calls.

It's apparently not an easily solved problem

Apparently too hard for the clowns at AMD. AFAIK it's a "solved problem" on Intel hardware. (Has there ever been a problem with the hardware in any Intel CPU?)

We wouldn't be having this discussion if AMD hadn't royally fucked this up.

3 comments

> (Has there ever been a problem with the hardware in any Intel CPU?)

FOOF...

( https://en.wikipedia.org/wiki/Pentium_F00F_bug Admittedly that was in the 90s... )

Sorry about that. FOOF did cause some people headaches.

I should have more specifically said, "has there been a problem with RDRAND hardware in any Intel CPU?"

FOOF wasn't a "real" problem for an average user, it had some workarounds. It wasn't even triggered unless you tried to execute an invalid instruction.

Much much much worse was the Intel FDIV bug. That one caused Intel to recall processors and cost them $475 million. https://en.wikipedia.org/wiki/Pentium_FDIV_bug

Lots of jokes resulted. E.g.: We are Pentium of Borg. Division is futile. You will be approximated.

As for RDRAND, Intel put a lot of thought into it. It wasn't just a hack.

Here's a high level presentation. (A friend of mine at Intel thought highly of Dr. George Cox, who was a long time Intel employee). https://old.hotchips.org/wp-content/uploads/hc_archives/hc23...

Here's a little more detail: https://spectrum.ieee.org/computing/hardware/behind-intels-n...

> They probably did this for speed. Faster than library calls or system calls.

Xorshift is faster than RDRAND and json-c is using lookup3 for hashing (unless I'm missing some other use of the RDRAND data) so it doesn't need cryptographic RNG.

> Apparently too hard for the clowns at AMD. AFAIK it's a "solved problem" on Intel hardware. (Has there ever been a problem with the hardware in any Intel CPU?)

Meltdown/Spectre of course. As I posted earlier there's also an Intel microcode update that makes RDRAND much slower. https://www.phoronix.com/scan.php?page=news_item&px=RdRand-3...

rdrand besides most likely backdoored is not fast. It's like 1000x slower than the slowest prng call on an unpatched Ryzen. https://rurban.github.io/dieharder/QUALITY.html