簡體   English   中英

是英特爾的RdRand TRNG還是PRNG?

[英]Is intel's RdRand TRNG or PRNG?

我在網上搜索了很長一段時間,卻找不到明確的答案。 我想知道intel的rdrand指令生成的隨機數的質量。 例如,它與IDQ的卡相比如何? 它真的是隨機的還是偽隨機的?

謝謝

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM