混淆與擴散

在密碼學當中 ， 混淆 （ confusion ） 與擴散 （ diffusion ） 是設計密碼學算法的兩種主要方法 。 這樣的定義最早出現在 - { zh - cn: 克勞德 · 香農; zh - tw: 克勞德 · 夏農 } - 1945年的論文 《 密碼學的數學理論 》 當中 。 在 - { zh - cn: 克勞德 · 香農; zh - tw: 克勞德 · 夏農 } - 的定義之中 ， 混淆主要是用來使密文和對稱式加密方法中金鑰的關係變得儘可能的複雜 ； 而擴散則主要是用來使用明文和密文的關係變得儘可能的複雜 ， 明文中任何一點小更動都會使得密文有很大的差異 。 混亂用於掩蓋明文與密文之間的關係 。 這可以挫敗通過研究密文以獲取冗餘度和統計模式的企圖 。 做到這一點最容易的方法是 “ 代替 ” 。 擴散通過將明文冗餘度分散到密文中使之分散開來 。 即將單個明文或密鑰位的影響儘可能擴大到更多的密文中去 。 產生擴散最簡單的方法是換位 （ 置換 ） 。