维基百科关于长度扩展攻击的页面说:“注意,由于HMAC不使用梅尔克-达格路结构,HMAC哈希不容易受到长度扩展攻击。”
然而,HMACs可以通过使用这些结构的MD-5、SHA-1和SHA-256等散列算法来构造。我知道HMACs即使是由这些散列算法构造出来也是安全的,但是说HMACs不使用Merkle结构是准确的吗?如果是的话,原因何在?
发布于 2020-02-21 00:28:25
你的报价是错误的:
维基百科关于长度扩展攻击的页面说:“注意,由于HMAC不使用梅尔克-达格路结构,HMAC哈希不容易受到长度扩展攻击。”
你在方括号中转述的部分是对原文的误读,它读(我的粗体):
当基于Merkle的散列被误用为带有构造H(\mathrm{secret} ‖ \mathrm{message})的消息身份验证代码,并且消息和秘密的长度已知时,长度扩展攻击允许任何人在消息的末尾包含额外的信息,并在不知道秘密的情况下生成有效的哈希。请注意,由于HMAC不使用此结构,HMAC哈希不容易受到长度扩展攻击。
在最后一句中,“这个结构”的先行词不是Merkle结构,而是一个秘密前缀MAC结构。
https://crypto.stackexchange.com/questions/77735
复制相似问题