雪崩效應

在密碼學中 ， 雪崩效應 （ avalanche effect ） 指加密算法 （ 尤其是塊密碼和加密散列函數 ） 的一種理想屬性 。 雪崩效應是指當輸入發生最微小的改變 （ 例如 ， 反轉一個二進制位 ） 時 ， 也會導致輸出的不可區分性改變 （ 輸出中每個二進制位有50 % 的概率發生反轉 ） 。 合格塊密碼中 ， 無論密鑰或明文的任何細微變化都必須引起密文的不可區分性改變 。 該術語最早由Horst Feistel使用 ， 儘管其概念最早可以追溯到克勞德 · 香農提出的擴散 （ diffusion ） 。 若某種塊密碼或加密散列函數沒有顯示出一定程度的雪崩特性 ， 那麼它被認爲具有較差的隨機化特性 ， 從而密碼分析者得以僅僅從輸出推測輸入 。 這可能導致該算法部分乃至全部被破解 。 因此 ， 從加密算法或加密設備的設計者角度來說 ， 滿足雪崩效應乃是必不可缺的圭臬 。 構造一個具備良好雪崩效應的密碼或散列是至關重要的設計目標之一 。 這正是絕大多數塊密碼採用了乘積密碼的原因 ， 也是大多數散列函數使用大數據塊的原因 。 這些特性均使得微小的變化得以通過算法的迭代迅速增殖 ， 造成輸出的每一個二進制位在算法終止前均受到輸入的每一個二進制位的影響 。