HMAC:使用单项散列函数来构造消息认证码(利用单向散列函数的单向性和抗碰撞性来保证无法根据MAC值推测出密钥)
HMAC-SHA-1 分组长度512bit
HMAC-MD5
HMAC-RIPEMD
(1)密钥填充
如果密钥比分组长度要长,则要用单项散列函数求出密钥的散列值,然后将这个散列值作为HMAC的密钥。
(2)填充后的密钥与ipad的XOR
ipad是将00110110这一比特序列(16进制的36)不断循环反复直到达到分组长度所形成的比特序列。
(3)与消息组合
将和密钥相关的比特序列(ipadkey)附加在消息的开头。
(4)计算散列值
将(3)的结果输入单向散列函数,并计算出散列值。
(5)填充后的密钥与opad的XOR
opad是将01011100这一比特序列(16进制的5C)不断循环反复直到到达分组长度所形成的比特序列。
(6)与离散值组合
将(4)的散列值拼在opadkey后面。
(7)计算离散值
将(6)的结果输入单向散列函数,并计算出散列值,即MAC值。
消息认证码——HMAC
最新推荐文章于 2024-05-04 07:33:30 发布