基本介紹
- 中文名:密鑰哈希訊息鑑別碼
- 外文名:Keyed-hash message authentication code
簡介,定義,相關條目,
簡介
密鑰散列訊息認證碼(英語:Keyed-hash message authentication code),又稱散列訊息認證碼(Hash-based message authentication code,縮寫為HMAC),是一種通過特別計算方式之後產生的訊息認證碼(MAC),使用密碼散列函式,同時結合一個加密密鑰。它可以用來保證數據的完整性,同時可以用來作某個訊息的身份驗證。
定義
根據RFC 2104,HMAC的數學公式為:
![](/img/6/454/3c6f04d19dbf0085485d07680fe4.jpg)
- H為密碼散列函式(如MD5或SHA-1)
- K為密鑰(secret key)
- m是要認證的訊息
- K'是從原始密鑰K導出的另一個秘密密鑰(如果K短於散列函式的輸入塊大小,則向右填充(Padding)零;如果比該塊大小更長,則對K進行散列)
- || 代表串接
- ⊕ 代表異或(XOR)
- opad是外部填充(0x5c5c5c…5c5c,一段十六進制常量)
- ipad是內部填充(0x363636…3636,一段十六進制常量)