Veracrypt 1.24刚出来。它使用基于硬件事件的真正随机数生成器,即CPU定时抖动或“Jitter熵”。
作为CPU RDRAND的另一种选择,我对VeraCrypt1.24中的“抖动熵”有点紧张,我想听听一些专家的建议。我刚才引用的斯蒂芬-穆勒的论文非常详细。
在Veracrypt 1.24中,Jittentropy是RDRAND的可靠密码替代品吗?
发布于 2019-10-08 22:44:29
我也很不安~。几点相关的问题使我自己的膝盖晃动:-
TRNG是一种特殊的密码体制,它具有信息论的安全性。要证明这一点需要精确的熵估计,这是非常困难的,对一般来源来说仍然是一个悬而未决的问题。Killmann和Schindler,Schürmann和Grassberger,Herrero-Collantes,Garcia-Escartin和我已经证明了这个测量是难以处理的。即使是NIST也承认这一点。Jitter熵通过原始LFSR (§3.1.3)将原始熵注入池中,然后通过学生日志公式求出Shannon熵。对于原始的通用源来说,这是不可能的,而且它是在一个有缺陷的IID假设下完成的。\frac{d^2t}{di} 不是去相关器(它是一个低通滤波器),也没有进行任何排列测试来证明计数器。
斯蒂芬-穆勒的确很长。我不喜欢这样。熵的来源对那些愚蠢的人来说应该是显而易见的,就在你面前。句号。它不应该采取数百行解释和无数的图形。熵要么来自上帝,要么不来自上帝。这对我来说太复杂了,我很难相信这不仅仅是一个不具备OTP能力的CSPRNG,类似于/dev/urandom或模熵乘法 TRNG do-da:

熵测量没有明显的安全系数。在我的设计中我使用保守的2或3,但是Jitter熵没有。起重设备的安全系数为6,因此,如果你的生命依赖于它,那么有一些因素似乎是谨慎的。即使是/dev/random也可以容纳一个人(尽管它是不成文的)。
(不可逾越的?)任何操作系统内核的检测的基本问题是观察者效应。如果你在寻找单比特的OS熵,信噪比是1:1。一个0dB的熵信号甚至比那些你发现潜伏在ePrint中的非常糟糕的量子TRNG还要糟糕。
最后,VeraCrypt的随机数生成器文档没有提到Jitter熵是它的秘密来源。他们说:-
• Mouse movements
• Keystrokes
• Mac OS X and Linux: Values generated by the built-in RNG (both /dev/random and/dev/urandom)
• MS Windows only: MS Windows CryptoAPI (collected regularly at 500-ms interval)
• MS Windows only: Network interface statistics (NETAPI32)
• MS Windows only: Various Win32 handles, time variables, and counters (collected regularly at 500-ms interval) VeraCrypt论坛上的所有讨论似乎都是一致的。我们清楚地知道,在现代CPU上读取Java的System.nanoTime会产生真正的熵,这是实时操作系统(RTOS)的基础。通过期望RTOS中的x\delta 平均执行时间来取消传播延迟,不一定允许您在多任务桌面上量化它。但这很难有决定性的衡量。熵率是不稳定的,或者充其量是元稳定的。特别是在所有专用CPU、IP CPU块和古怪的软件环境中。
在管理中,如果你不能衡量它,你就无法管理它(彼得·德鲁克)。还有一些其他的问题也困扰着我,但这已经太久了。我确信这是一个好的CSPRNG,但仍然不相信这是一个TRNG,遭受着与已被和RDRAND/RDSEED 做相同的基本测定问题。
https://crypto.stackexchange.com/questions/74888
复制相似问题