长度扩展攻击
维基百科,自由的 encyclopedia
在密码学和计算机安全中,长度扩展攻击(英语:Length extension attacks)是指一种针对特定加密散列函数的攻击手段,攻击者可以利用H(消息1)和消息1的长度,不知道消息1内容的情形下,将攻击者控制的消息2计算出H(消息1 ‖ 消息2)。
此条目翻译质量不佳,原文在en:Length extension attack。 |
该攻击适用于在消息与密钥的长度已知的情形下,所有采取了 H(密钥 ∥ 消息) 此类构造的散列函数[1]。MD5和SHA-1等基于Merkle–Damgård构造(英语:Merkle–Damgård_construction)的算法均对此类攻击显示出脆弱性[2][3][4]。注意,由于密钥散列消息认证码(HMAC)并未采取 H(密钥 ∥ 消息) 的构造方式,因此不会受到此类攻击的影响(如HMAC-MD5、HMAC-SHA1)[5]。SHA-3算法对此攻击免疫[6]。