在考虑制作测试真正随机数生成卦的时候,发现有文件指出,RDSEED 和 RDRAND 的区别是 RDRAND 采用的是 128-bit AES 密钥的 CTR-DRBG,而 RDSEED 则是直接从真随机数发生器中获得输出(两者并不是直接使用真随机发生器的输出,这些输出是做过 AES-CBC-MAC 处理的,防止外界通过观测输出了解内部运行的细节)
在Inter的《The Difference Between RDRAND and RDSEED》中指出,两者使用间的区别:
“The decision process for which instruction to use is mercifully simple, and based on what the output will be used for.
- If you wish to seed another pseudorandom number generator (PRNG), use RDSEED
- For all other purposes, use RDRAND
That's it. RDSEED is intended for seeding a software PRNG of arbitrary width. RDRAND is intended for applications that merely require high-quality random numbers.”
如果打算用来作为其它伪随机数生成器的种子的时候那么就可以考虑RDSEED,不然就使用RNRAND。
发表评论