我知道密码学中使用了混淆,这使得识别密文和对称密钥之间的任何关系变得更加困难。我想知道在加密过程中何时应用了混淆,例如:
K1以形成修改的对称密钥K2,然后在加密:enc(Plain_text,K2)中使用K2。K1用于加密:Cipher_text = enc(Plain_text,K1),然后在Cipher_text上应用混淆函数。是这两种方法中的一种,还是别的什么?最好举一个例子。
发布于 2013-03-16 06:05:50
这两种方法都不能真正代表加密函数中引入混淆的可能性。混淆通常是在加密文本的计算过程中引入的,而不是在之前或之后。
例如,我们可以查看AES。AES是一个置换-置换网络。这意味着加密是通过执行几轮替换和排列来完成的。在AES中,有10-14轮的替换和排列。

在AES中引入混淆的方式是通过在圆圈中传播比特。想象一下,如果你在第一轮中翻转了一点K,这可能只会影响到一小部分的输入。一旦它通过了AES S盒中的替换步骤,S盒的所有输出位将是不同的。这些“改变”的比特,然后通过排列步骤,在下一轮分配给其他几个S盒。在所有回合中,这种情况仍在继续。
因此,密钥中的单个比特的变化开始于在中间计算中只改变一位,然后通过加密过程“扩展”以实现多个密文位。
https://crypto.stackexchange.com/questions/6699
复制相似问题