2016-09-08 22 views
0

我注意到运行加密操作时性能不佳。我跑。为什么我的linux熵有这么低的上限?

经过一些使用watch的测试和我自己的观察,我可以看到我的熵水平从未超过200!

即使当我使用鼠标移动等产生熵(当我的电脑完全闲置时),它短暂地超过了200,然后无缘无故地突然下降到它下面。

这是为什么?如何解决?

+0

我不知道为什么熵很低,但也许你可以尝试rng工具来增加熵。 – theman

+0

使用'urandom'而不是'random';没有必要永远使用“随机”。 – dandavis

回答

1

也许熵累积系统只有大约200位状态,并且根本无法获得比这更“未知”的状态。最关心拥有足够熵的人倾向于是密码学家,而200位熵对于大多数(可能是所有?)密码应用来说都是充足的。

+1

当然不是所有...想到创建OTP – DarkSquirrel42

+0

@ DarkSquirrel42要创建一个OTP,您可以使用[CSPRNG](https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator)生成一个基于熵池。你不会直接使用熵池。 200位熵是完全足够的。 –

+0

@squeamishossifrage ...可悲的是,这并不适用于OTP ... csPrng ... P为“伪”是问题... OTP的要求是纯熵,或者你削弱了安全性以保证所说的安全性csprng,它在每种情况下都低于OTP的安全性......如果csprng的种子是200位,那么破解/猜测的复杂度就是200位或更少......远离OTP的安全 – DarkSquirrel42

0

您可以用haveged大幅提高可用熵。它可能已经包含在你的发行版中。 Centos/Redhat用户可以从epel存储库安装它。

Haveged的建立是为了弥补在可以在某些工作负载发生,特别是在无头 服务器在Linux 随机设备低熵的条件。

0

别担心。 200位的熵是绰绰有余的。

下面是从RFC 4086 (Randomness Requirements for Security)报价:

3.1。需要数量

需要多少不可预测性?是否有可能按照每秒随机比特的数量来量化 的要求?

答案是不是很需要。对于AES,密钥可以是128位,并且,正如我们在第8节中的示例所示,甚至最高安全系统也不可能需要大于200位的强密钥材料 。