首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >破碎RDRAND的快速后处理

破碎RDRAND的快速后处理
EN

Cryptography用户
提问于 2013-09-17 10:48:25
回答 1查看 418关注 0票数 6

让我们假设Intel RDRAND指令不会返回完全随机数,例如,因为它是为NSA设计的后门。

如果软件实现直接使用Intel RDRAND指令,那么可以执行什么后处理来确保输出与随机输出无法区分?这个过程不应该是CPU密集型的,因为如果是这样的话,应用程序也可以使用操作系统提供的随机数生成器。

假设: RDRAND返回的随机数至少符合FIPS对随机数输出的测试。

EN

回答 1

Cryptography用户

发布于 2013-09-19 06:08:25

Unix/Linux /dev/随机源代码有一个“搅动”熵池的概念。如果你搅动了RDRAND熵--未知的,可变的次数--那么攻击者就不可能轻易地逆转它。如果将其他来源的熵也混合到熵池中,情况会更好。永远不要依赖一个熵源。同样,在搅拌池之后,在使用随机抽取器之前运行它。

虽然如果RDRAND/CPU有一个秘密触发事件,比如它检测到正在生成一个键,或者TLS会话被启动,那么它可能会开始抽出大量的零值,这将很难检测到,即使你将它混合到熵池中,它仍然会受到影响。在使用之前,您需要直接验证Intel的所有输出,但这可能很困难。不久前有一篇论文写在这上面,我去看看能不能找到。

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

https://crypto.stackexchange.com/questions/10391

复制
相关文章

相似问题

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