密鑰哈希訊息鑑別碼

密鑰散列訊息認證碼(英語:Keyed-hash message authentication code),又稱散列訊息認證碼(Hash-based message authentication code,縮寫為HMAC),是一種通過特別計算方式之後產生的訊息認證碼(MAC),使用密碼散列函式,同時結合一個加密密鑰。它可以用來保證數據的完整性,同時可以用來作某個訊息的身份驗證

基本介紹

  • 中文名:密鑰哈希訊息鑑別碼
  • 外文名:Keyed-hash message authentication code
簡介,定義,相關條目,

簡介

密鑰散列訊息認證碼(英語:Keyed-hash message authentication code),又稱散列訊息認證碼(Hash-based message authentication code,縮寫為HMAC),是一種通過特別計算方式之後產生的訊息認證碼(MAC),使用密碼散列函式,同時結合一個加密密鑰。它可以用來保證數據的完整性,同時可以用來作某個訊息的身份驗證

定義

根據RFC 2104,HMAC的數學公式為:
其中:
  • H為密碼散列函式(如MD5或SHA-1)
  • K為密鑰(secret key)
  • m是要認證的訊息
  • K'是從原始密鑰K導出的另一個秘密密鑰(如果K短於散列函式的輸入塊大小,則向右填充(Padding)零;如果比該塊大小更長,則對K進行散列)
  • || 代表串接
  • ⊕ 代表異或(XOR)
  • opad是外部填充(0x5c5c5c…5c5c,一段十六進制常量)
  • ipad是內部填充(0x363636…3636,一段十六進制常量)

相關條目

相關詞條

熱門詞條

聯絡我們