zntsbkhhhhhh

HMAC算法及计算流程介绍

0
阅读(1371)

HMAC算法及计算流程介绍

1. HMAC算法的应用:

目前HMAC算法主要应用在服务器对访问者进行鉴权认证流程中。

2. HMAC算法简介:

HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code)的缩写。HMAC中的H代指Hash散列算法,HMAC可以使用多种单项散列式,例如使用SHA-1,则构成HMAC-1,选用SHA-256散列算法,则构成HMAC-256。

3. 计算步骤:

详见下图。

1.png

补充说明:

(1) 如果密钥比单向散列函数分组长度要短,就需要在末尾填充0,直到其长度达到单向散列函数的分组长度为止。

如果密钥比分组长度要长,则要用单向散列函数求出密钥的散列值,然后将这个散列值用作HMAC的密钥。

(2) ipad为00110110的循环,直到达到单项散列函数的分组长度。

       opad为01011100的循环,直到达到单项散列函数的分组长度。

 

综述:有一些用户会将HMAC算法应用到嵌入式版权保护中,即MCU和加密芯片基于HMAC算法完成鉴权认证,也有用户会应用到远程登录认证中,将密钥存储在终端设备的加密芯片中,启动联网后,基于加密芯片完成与后台服务器的身份认证。凌科公司可根据客户需求不同,灵活设置加密芯片中的算法,除了HMAC还可支持3DES、AES、RSA、ECC、国密SM2等各种加解密、签名验签算法,通过安全芯片自身软硬件防护机制,对HMAC或其他算法使用的密钥实行安全保护,保证密钥存储和运行中的安全。同时通过硬件协处理器助力算法加速,提升运算性能。