发布于 2015-10-08 06:58:39
因为字节0到47的任何更改都会将字节48更改为63。为什么要为HMAC提供0到47字节的输入呢?如果HMAC使用48到63字节作为输入,安全性是否相同?
不,因为这是一个16字节的HMAC,即128位哈希,而不是48字节的实际值。HMAC有256位的安全性,而哈希的HMAC只有128位的预图像电阻和64位的碰撞电阻。
现在,这是否会导致实际的攻击,我不太确定。对哈希的碰撞攻击是可以实现的,但我不能立即看到攻击者从中受益。不过,如果要使用256位HMAC,则没有必要使用初始哈希来降低安全性。
https://crypto.stackexchange.com/questions/29689
复制相似问题