【发布时间】:2011-08-04 22:49:18
【问题描述】:
我已经开始了一些工作,其中需要一些质量随机字节,例如每次 32 个用于某些加密应用程序的初始化向量。我的问题是,这可能会同时被多次调用,我无法承受 /dev/random 块问题等待更多的熵收集。
我可以用它来播种其他算法,例如 /dev/urandom 可能会做什么 - 但是我不相信我无法理解的东西,我没有任何现成的可用资源,我也不知道它是否仍然是在许多内核版本之间都是一样的,我更喜欢某种定义明确的方法。
您是否知道您能想到的标准 PRNG 之外的任何方法,这些方法足以适用于(同时)密钥生成等?
某些密码(例如具有大种子的 RC4)是否足以生成随机输出? (我见过一个使用它的 /dev/frandom 实现,但我并不完全确定。)
如果这意味着什么,我在一个无头的 Debian 服务器上,因为缺少熵收集。
【问题讨论】:
-
很久以前,当我还是学生的时候,KISS PRNG 以符合您的标准而著称。我将此作为评论发布,因为我不知道它是否仍然被认为是有效的。 gcc.gnu.org/onlinedocs/gfortran/RANDOM_005fNUMBER.html
-
这里有一些关于 dev/random|urandom 的(旧)讨论lwn.net/Articles/261804
-
我很欣赏这次讨论,我觉得它很有趣。
-
您可以使用像entropykey 这样的设备来确保您的无头服务器具有良好的随机性。
标签: linux random cryptography prng