3 ms·
One problem with that approach is that depending on how little you trust the general area around RDRAND, it doesn't work. Now, before I continue, I should ment
by blattimwind 9y ago
One problem with that approach is that depending on how little you trust the general area around RDRAND, it doesn't work.
Now, before I continue, I should mention that Intel explained that in their design the back-end of RDRAND is completely separate from other (micro)architectural state (like registers). [However, this restriction does not help if you were to assume that e.g. RDRAND microcode is evil].
Theorem of poisonous entropy: Given an attacker able to observe the state of your CSPRNG, they can embed information in the CSPRNG output with negligible computational cost iff they are able to supply entropy.
Therefore, if you don't trust RDRAND to not spy on you, but still use it as an entropy source, you cannot build a secure CSRPNG.
- bdonlan 9y agoIf you distrust Intel to even separate the CSPRNG from architectural registers, you should probably assume that they've compromised even pure-software CSPRNGs running on their chips as well.