首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >英特尔的RdRand是TRNG还是PRNG?

英特尔的RdRand是TRNG还是PRNG?
EN

Stack Overflow用户
提问于 2014-12-26 06:43:30
回答 3查看 1.8K关注 0票数 3

我在网上搜索了很长一段时间,却找不到确切的答案。我想知道由英特尔的rdrand指令产生的随机数的质量。例如,它与IDQ's卡相比如何?真的是随机的还是伪随机的?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-28 08:12:17

票数 0
EN

Stack Overflow用户

发布于 2015-08-12 22:22:01

RdRand来自一个RNG,它由一个输入的熵源和AES-CBC熵提取器组成,后者是一个AES-CTR的种子。DRBG以每秒大约100万次的速度被重新植入(慢芯片上的DRBG比较慢,在更快的芯片上更快)。因此,DRBG的输出是一个随机种子PRNG。如果你读得慢(少于100万次/秒),你可以预期每次DRBG都会被重新加载,所以渐近线是一个完整的熵RNG。如果读取速度超过CPU所允许的速度,则DRNG硬件将达到每个种子511 DRBG 128位输出的最高值。密码预测电阻为O(2^128)。

RdSeed提供了一个NIST 800-90C异或结构变体,其中每个值都包含一个新种子。TRNG这个术语还没有很好的定义,但是RdSeed很可能接近于人们所认为的TRNG的意思。它的性能低于RdRand,因为它的速度是熵抽取器输出速率的函数,而不是DRBG的输出速率。

因此,在问“质量是什么”时,您需要指定最小熵或计算界。两者在统计上都与均匀没有区别,但RdRand还保证O(2^128)密码预测电阻(您需要做多少工作才能可靠地预测下一个状态),它只适用于重成功之间(因此在大约1u的周期内),当先前的状态被新的熵数据覆盖时。RdSeed提供了更强的最小熵保证输出接近均匀。实际效果是,您可以安全地连接RdSeed值以生成更大的密钥和IVs。例如,提供O(2^ 512 )安全性的512位键。RdRand足以满足O(2^128)安全的所有需要。如果您想从RdRand提供大于O(2^128)安全性的密码系统,请阅读英特尔的SDG,这说明了如何使用适当的密码算法安全地实现这一点。

票数 6
EN

Stack Overflow用户

发布于 2017-11-13 22:13:58

英特尔的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节有你要找的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27653736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档