(Linux)内核中的理论密码学与实用密码学

2020-08-28 19:24:05

从信息论的角度来看,从信息理论的角度来看,当你收集熵时,将它们以点滴混合在一起,直到你可以灾难性地重新播种:要么你添加熵的速度快于它泄漏的速度(在这种情况下,你很好),要么你重新泄漏状态的速度比你添加熵的速度快(在这种情况下,你就完蛋了)。只有当您考虑到暴力-强制-反转混合函数_if_state所需的工作量足以允许信息论攻击时,才会出现差异;频繁的小型重新播种的部分状态扩展加起来比一次大的重新播种的总工作量要少,因为2^k因子占主导地位。因此,如果您的安全性依赖于您的PRNG的加密强度,则灾难性的种子重新设定是很重要的,但如果您的安全性依赖于向状态添加噪声的速度快于攻击者获得约束该状态的信息的速度(例如,通过观察输出)-在这种情况下,CAT重新设定种子可能会让攻击者在重新设定种子事件之间的(更长)间隔内达到更大的部分状态,从而实际上对您造成伤害。>;对于非CSPRNG,这可能和观察中等数量的输出一样简单,LFSR只需要观察与状态大小成比例的一些输出,例如,从信息理论的角度来看,任何PRNG、CS或NO都是如此,因为您总是可以枚举所有可能的状态,并查看哪一个匹配。观察(平均)n个连续输出并执行O(n*2^n)工作可以很好地破解n位CSPRNG。与LFSR的不同之处在于,有一个相当简单的密码分析,可以让你用比蛮力少得多的工作来做这件事。让我疯狂阅读netdev上的原始帖子的一件事是,一些人(特别是斯佩尔文)在信息论论点和工作论点之间模棱两可的方式。看起来就像是把施奈尔的猫种子纸拿来装货,把它培养成某种灵丹妙药兼万能必需品。