首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么基于硬件的随机数发生器被认为比基于软件的生成器更好?

为什么基于硬件的随机数发生器被认为比基于软件的生成器更好?
EN

Security用户
提问于 2017-05-22 15:47:41
回答 2查看 2.8K关注 0票数 3

基于硬件的随机数发生器(RNG)从周围的噪声中获得随机性。基于软件的生成器通常从用户输入中获得这一点,比如将鼠标移动到屏幕上(就像TrueCrypt那样)。

是什么使硬件RNG比基于软件的生成器更安全(更随机)?

EN

回答 2

Security用户

回答已采纳

发布于 2017-05-23 11:53:14

直接回答: SW算法是基于可预测或有限的计算机算法。

阅读此比较这里的优点和缺点。一般情况下,平均HW RNG比平均SW RNG好。

但是,虽然HW RNG被称为“true”,SW RNG (基于算法)被称为“伪”,但我并不认为硬件RNG总是更好。

在硬件方面,关键在于设计有多好,它与实现有多远,还有什么能影响结果。

在用户输入的情况下,这将取决于用户的随机化程度。基于鼠标移动的RNG可能比普通硬件更好或更差,这取决于用户的技能。同样,硬件RNG可能比鼠标移动的RNG更好或更差,这取决于HW设计人员的技能。

票数 4
EN

Security用户

发布于 2017-05-23 12:16:32

软件RNG具有由输入噪声更新的内部状态。通过从生成器中检索值,也可以对此状态进行洗牌。

基本硬件RNG没有内部状态。好的硬件生成器将不断地为软件RNG注入种子,以避免分配问题和干扰(在攻击下输入噪声不可能是随机的)。

如果软件RNG的状态泄漏或公开,它将不会提供任何随机性,因为攻击者将能够生成相同的输出。这样,硬件RNG就更好了,因为它没有可能泄漏的状态。例如,一些软件RNG在收集足够的噪音之前,使用公共数据或不良数据初始化状态。对于共享相同初始状态的VM来说,这是一个问题(避免在VM上生成SSH或PGP密钥)。另一方面,从理论上讲,基本的硬件生成器会受到输入的影响。

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

https://security.stackexchange.com/questions/160142

复制
相关文章

相似问题

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