HMAC算法及計算流程介紹

芝麻人 2024-06-10 10:12 11次浏览 0 条评论 taohigo.com

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)如果密鑰比單向散列函數分組長度要短,就需要在末尾填充0,直到其長度達到單向散列函數的分組長度為止。

如果密鑰比分組長度要長,則要用單向散列函數求出密鑰的散列值,然後將這個散列值用作HMAC的密鑰。

(2)ipad為00110110的循環,直到達到單項散列函數的分組長度。

opad為01011100的循環,直到達到單項散列函數的分組長度。

綜述:有一些用戶會將HMAC算法應用到嵌入式版權保護中,即MCU和加密芯片基於HMAC算法完成鑒權認證,也有用戶會應用到遠程登錄認證中,將密鑰存儲在終端設備的加密芯片中,啟動聯網後,基於加密芯片完成與後臺服務器的身份認證。凌科芯安公司可根據客戶需求不同,靈活設置加密芯片中的算法,除瞭HMAC還可支持3DES、AES、RSA、ECC、國密SM2等各種加解密、簽名驗簽算法,通過安全芯片自身軟硬件防護機制,對HMAC或其他算法使用的密鑰實行安全保護,保證密鑰存儲和運行中的安全。同時通過硬件協處理器助力算法加速,提升運算性能。