混淆與擴散 在密碼學當中混淆confusion與擴散diffusion是设计密码学算法的兩種主要方法這樣的定義最早出現在克劳德香农年的論文密码学的数学理论當中 在克劳德香农的定義之中混淆主要是用來使密文和對稱式加密方法中金鑰的關係變得盡可能的複雜而擴散則主要是用來使用明文和密文的關係變得盡可能的複雜明文中任何一點小更動都會使得密文有很大的差異 混淆用于掩盖明文与密文之间的关系这可以挫败通过研究密文以获取冗余度和统计模式的企图做到这一点最容易的方法是代替 扩散通过将明文冗余度分散到密文中使之分散开来即将单个明文或密钥位的影响尽可能扩大到更多的密文中去产生扩散最简单的方法是换位置换