严格的雪崩准则(SAC)是雪崩效应的形式化。当单个输入位被补充时,如果每个输出比特以50%的概率发生变化,则满足。
我的问题是:
发布于 2018-10-05 10:27:55
如果散列算法有100%的比特变化概率呢?
好吧,那就不是胡说八道。你可以称它为振子什么的,但肯定不是伪随机函数。密码散列的主要特征之一是,给定任何输入,输出都是伪随机的。
您建议使用类似于f(b) = f'(a)的行为,因为您必须对前面所有的输出位保持一个内存。输出之间不存在随机性和独立性。然后,您只需在这两个输出之间振荡。它作为一个散列是无用的,也不会比一个准非运算符更好。
50%的比特变化概率不是最优的.这是基本要求之一。但是,您还会发现,在构造任何好的散列时,这都会自然发生。一个自然的关系,输出碰撞率的1/e和50%的整体比特变化,在足够的内部比特损坏。
不过要小心点。雪崩效应和严格雪崩效应是不一样的,人们倾向于交替使用它们。它们不是,你的wiki引用也不是明确正确的。一个不仅仅是另一个的正规化。有一个简洁的答案@ https://crypto.stackexchange.com/a/42471/23115解释了这一点。
https://crypto.stackexchange.com/questions/62884
复制相似问题