3 ms·
> Nevertheless, the output of the hardware RNGs provided by the Intel or AMD CPUs can be used in a reasonably secure way if the supposedly random values are nev
by bscphil 4y ago
> Nevertheless, the output of the hardware RNGs provided by the Intel or AMD CPUs can be used in a reasonably secure way if the supposedly random values are never used directly, but they are passed through a cryptographic hash, e.g. SHA-256. Even SHA-1 is completely adequate for this special purpose
Why would you go to any of this trouble and not just XOR the output of RDRAND into the starting seed (based on hardware entropy) for your PRNG (/dev/urandom)? Even if it turns out that Intel is providing a single static value (like all zeros) to every device ever, that's not going to help them figure out the starting seed if the rest of the entropy is from a sufficiently secure source.
- moonchild 4y agoSufficiently adversarial rdrand could snoop the rest of your seed and choose its result appropriately. But sha256 is not reversible.
- dragontamer 4y agoA sufficiently adversarial CPU could detect the sha256 hash you're using as a random number generator (and no other sha256 hash) and set its result to a known value as well. At some point, you gotta just trust the hardware.