use*_*949 46 security md5 hmac
任何人都可以指出使用的优点HM?C
是什么?
例如,如果我有文本T
和密钥K
,我可以使用任一HMAC-MD5
算法或Md5(T + K)
获取签名.
Bab*_*san 38
HMAC不易受长度延长攻击.
md5(T + K)应该适用于大多数用途,除非你的对手有动机篡改你的信息并具有非常好的计算能力.只要您控制T,生日攻击就不适用,您只有暴力攻击.但是要注意这些局限性是很好的.如果你想采用这种方法,你可能需要使用SHA1(T + K)而不是MD5.
md5(T + K)肯定比md5(K + T)更好,攻击者可以在其中附加文本并生成另一个有效的MAC.
对于md5(T + K),问题是如果攻击者能够找到与T2的冲突,使得md5(T)= md5(T2),则md5(T + K)= md5(T2 + K).但这需要蛮力攻击.
注意:我说" 只要你控制T ",因为如果可以对T进行更改(以这种方式不明显),可以尝试生成2条消息T1和T2,其中T1可以传递给T和md5 (T1)= md5(T2).现在这相对容易多了(我们说的是2 ^ 64而不是2 ^ 128),原因是所谓的生日悖论或生日攻击.
注意: HMAC的设计是为了避免这种类型的扩展攻击.没有已知的针对HMAC的攻击.