有没有适用于 Linux 系统的工具可以测量系统上熵的“质量”?
我知道如何计算熵:
cat /proc/sys/kernel/random/entropy_avail
我知道有些系统具有“良好”的熵源(硬件熵密钥),而有些系统则没有(虚拟机)。
但是有没有一种工具可以提供系统熵“质量”的度量呢?
答案1
http://www.fourmilab.ch/random/对我有用。
sudo apt-get install ent
head -c 1M /dev/urandom > /tmp/out
ent /tmp/out
答案2
“ent”是一个优秀的命令行工具,用于简单快速地估计熵。
我用它来帮助学习线性同余发生器的工作原理。但如果“测量熵”是指“测量随机性”……问题就会变得更加复杂。
为了进行更稳健的随机性测试,您应该查看 dieharder 测试套件: http://www.phy.duke.edu/~rgb/General/dieharder.php
它不像“ent”那么容易使用,但要严格得多。
为了更深入的研究,“Cipher's by Ritter”还提供了一些很好的链接选择:
答案3
工具只能给你一个熵的上限。对于大多数用途,特别是与安全相关的用途,您对下限更感兴趣。
计算任意文件的熵在数学上是不可能的,因此没有工具可以做到这一点。
我可以轻松编写一个文件生成器,它生成非常低的熵文件,但仍会通过您的熵测试。只需使用带有小种子的加密 PRNG。
答案4
ncomputers.org/entropyarrayent
与 16、32、64、128、256 和 512 位串行相关测试相比,执行更快的熵测试。
和ncomputers.org/entropy工具,您还可以执行视觉频率和分布测试,绘制输出熵频率和熵高斯
例如,您可以使用以下命令执行高达 1GB 的在线测试servertest.online/entropytest