混淆是任何加密算法的必要组成部分。S包厢在确保混乱方面起着重要作用.如果一个加密算法不使用任何S框(而是一些其他操作/技术来提供混淆),那么通过查看密码算法,我们如何才能识别出哪个组件提供了混淆。
发布于 2017-12-07 21:14:43
您可以用应用于密码输入位的异或和门表示密码的输出。
“混淆”意味着代表密码输出位的方程度的增加。基本上,混淆的目标是使表示密码比特的表达式过于复杂,无法处理,并使其能够用于没有线性表达式可用于近似实际表达式的地方;线性近似将意味着给定的一组输入使表达式易于处理的概率为%。
对于布尔电路(即S盒),和和或门将增加方程的程度。异或和移位/旋转不会增加方程的程度。(它们增加了给定方程中的术语数,这有助于生成更复杂的表达式)。
获得非线性的另一种方法是从不同的字段中交织操作,例如混合按位异或和整数加运算。然而,如果你要拆开加法器电路,你会发现和/或门再次提供非线性。
因此,查找和/或门,您应该会在设计中找到混乱的根源。
https://crypto.stackexchange.com/questions/53775
复制相似问题