gpt4 book ai didi

C 中的加密安全 PRNG

转载 作者:太空宇宙 更新时间:2023-11-04 00:39:20 24 4
gpt4 key购买 nike

我正致力于在 C 中生成非常大的随机整数。我发现/dev/random 是一个很好的来源,但如果熵池耗尽,它就会阻塞。/dev/urandom 似乎是下一个 goto,但随机性的质量相比之下就没那么好了。有没有一种方法可以使用/dev/random 中的整数来播种 PRNG,这样我就不必继续从/dev/random 中读取数据了?我正在寻找加密安全的 PRNG,尽管不是长期的。

最佳答案

使用 /dev/random 中的整数来播种 PRNG 正是 /dev/urandom 所做的。除非您有证据表明 urandom 存在特定弱点,否则您就是在重新发明轮子。

虽然 urandom 确实比 /dev/random 弱,但您提出的方案以完全相同的方式弱,因此它比仅使用 urandom 没有任何好处。 urandom 还有一个额外的好处,那就是当新的熵从底层硬件可用时,它可以不断地将新的熵混合到生成的数字中。例如 FreeBSD 只有有一个 urandom 风格的设备。

最后,urandom 已经存在很多年了,它的来源已经过安全专家的审查,这不是可以自行滚动的替代品。

关于C 中的加密安全 PRNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15418600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com