4.1 混淆与扩散

未匹配的标注

混淆与扩散

强加密算法都是基于以下两种本原操作:
(1)混淆(Confusion):是一种使密钥与密文之间的关系尽可能模糊的加密操作。如今实现混淆常用的一个元素就是替换;这个元素在 AES 和 DES 中都有使用。
(2)扩散 (Diffusion):是一种为了隐藏明文的统计特性而将一个明文符号的影响扩散到多个密文符号的加密操作。最简单的扩散元素就是位置换,它常用于 DES 中;而 AES 则使用更高级的 Mixcolumn 操作。
仅执行扩散的密码都不是安全的,比如移位密码或第二次世界大战使用的密码机 Enigma。这两个密码都不是仅执行扩散的密码。然而,将扩散操作串联起来就可以建立一个更强壮的密码。将若干加密操作串联起来的思想也是 Shannon 提出的,这样的密码也叫乘积密码(Product cipher)。目前,所有的分组密码都是乘积密码,因为它们都是由对数据重复操作的轮组成的,如下图所示:
QE5i7NNxLm.jpg!large

N 轮乘积密码的基本原理,其中每轮都执行一次扩散和混淆操作

现在分组密码都具有良好的扩散属性。从密码级别来说这意味着修改明文中的 1 位将会导致平均一半的输出位发生改变,即第二位密文看上去与第一位密文完全没有关系。需要牢记的是,这个属性对分组密码的处理非常重要。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~