[英]Is intel's RdRand TRNG or PRNG?
RdRand由RNG饋送,RNG由饋送的熵源和種子AES-CTR-DRBG的AES-CBC-MAC熵提取器組成。 DRBG每秒重新接種約100萬次(它變化,在較慢的芯片上變慢,在較快的芯片上變快)。 因此DRBG的輸出是隨機播種的PRNG。 如果你慢慢閱讀(少於100萬次/秒),你可以期望DRBG每次都重新接種,因此漸近線是一個完整的熵RNG。 如果讀取速度超過CPU允許的速度,則DRNG硬件最高可達每個種子511個DRBG 128位輸出。 加密預測電阻為O(2 ^ 128)。
RdSeed提供NIST SP800-90C XOR結構變體,其中每個值都包含新鮮種子。 TRNG術語定義不明確,但RdSeed可能接近人們認為TRNG的含義。 它的性能低於RdRand,因為速度是熵提取器輸出速率的函數,而不是DRBG的輸出速率。
因此,在詢問“質量是什么”時,您需要指定最小熵或計算界限。 兩者在統計上與統一無法區分,但RdRand還保證O(2 ^ 128)加密預測抗性(您需要做多少工作才能可靠地預測下一個狀態),這僅適用於種子間(因此在約1us的時間段內)當先前的狀態被新的熵數據覆蓋時。 RdSeed提供更強的最小熵保證,輸出ε接近均勻。 實際效果是您可以安全地連接RdSeed值以生成更大的鍵和IV。 EG 512位密鑰提供O(2 ^ 512)安全性。 RdRand足以滿足O(2 ^ 128)安全性的所有需求。 如果您想從RdRand提供大於O(2 ^ 128)安全性的密碼系統,請閱讀英特爾的SDG,其中介紹了如何使用適當的加密算法安全地執行此操作。
請閱讀John M的文章和代碼示例https://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide section 2.2 cover pseudo和2.3 cover true
英特爾的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節有你想要的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.