RdRand是由熵源组成的RNG供给的,该熵源馈入一个AES-CBC-MAC熵提取器,该提取器生成了一个AES-CTR-DRBG种子。 DRBG每秒重新生成种子约1百万次(速度会因芯片速度不同而有所变化)。因此,DRBG的输出是随机种子PRNG。如果您读得比较慢(每秒少于1百万次),则可以期望DRBG每次都是新鲜的种子,因此渐近线是完全熵RNG。如果您读得比CPU允许的要快,则DRNG硬件在每个种子上的128位输出中最高只能达到511个DRBG。密码学预测抵抗力为O(2 ^ 128)。
RdSeed提供了NIST SP800-90C XOR构造变体,其中每个值都包含新的种子。TRNG术语没有明确定义,但RdSeed可能接近人们认为TRNG的意思。它的性能比RdRand低,因为速度是熵提取器的输出速率的函数,而不是DRBG的输出速率。
因此,在询问“质量”时,您需要指定最小熵或计算限制。两者在统计上无法与均匀分布区分开来,但RdRand还保证了O(2 ^ 128)的密码学预测抵抗力(您需要做多少工作才能可靠地预测下一个状态),仅适用于重新种植之间(因此在约1us的时间段内),当先前的状态被新的熵数据覆盖时。 RdSeed提供了更强的最小熵保证,即输出与均匀分布的epsilon相似。实际效果是您可以安全地连接RdSeed值以生成更大的键和IV。例如,512位密钥提供O(2 ^ 512)的安全性。 RdRand对于所有需要高达O(2 ^ 128)的安全性都足够。如果您想从RdRand提供大于O(2 ^ 128)的安全性的加密系统,请阅读英特尔的SDG,其中说明如何使用适当的密码算法安全地执行此操作。
英特尔的RdRand是一种高质量、密码安全的伪随机数生成器。在这篇论文中,详细描述了它是什么、如何使用它、它如何被使用以及使用它有多快(http://iopscience.iop.org/article/10.3847/1538-4357/aa7ede/meta;jsessionid=A9DA9DDB925E6522D058F3CEEC7D0B21.ip-10-40-2-120),或者非付费版本在这里(https://arxiv.org/abs/1707.02212)。
我认为第2.2.1节和第5节有你要找的内容。