長度擴展攻擊

在密碼學和計算機安全中 ， 長度擴展攻擊 （ Length extension attacks ） 是指一種針對特定加密散列函數的攻擊手段 ， 攻擊者可以利用H （ 消息1 ） 和消息1的長度 ， 不知道消息1內容的情形下 ， 將攻擊者控制的消息2計算出H （ 消息1 ‖ 消息2 ） 。 該攻擊適用於在消息與密鑰的長度已知的情形下 ， 所有采取了 H 此類構造的散列函數 。 MD5和SHA - 1等基於的算法均對此類攻擊顯示出脆弱性 。 注意 ， 由於金鑰雜湊訊息鑑別碼 （ HMAC ） 並未採取 H 的構造方式 ， 因此不會受到此類攻擊的影響 （ 如HMAC - MD5 、 HMAC - SHA1 ） 。 SHA - 3算法對此攻擊免疫 。