Encryption

當我們可以簡單地創建一個新的 MAC 並將收到的 MAC 與計算的 MAC 進行比較時,為什麼需要 MAC 驗證算法?

  • July 13, 2020

通過 MAC 驗證完整性的過程涉及兩個獨立的算法(如這裡所述)。在伺服器端,signing algorithm執行使用共享密鑰計算消息的 MAC,而在客戶端,verification algorithm執行使用密鑰、接收到的 MAC 和消息來驗證消息是否在傳輸過程中被更改.

但是我們可以通過使用共享密鑰簡單地計算接收到的消息的 MAC 來簡單地省去單獨的驗證算法。如果計算出的 MAC 和接收到的 MAC 相同,則消息沒有被更改。

這是所有 MAC 驗證算法中實際發生的情況嗎?

簽名和簽名驗證是與公鑰密碼學相關的概念。

對於消息驗證碼,只有一個密鑰和一個功能:

T = MAC ( K, M )

在哪裡:

  • T - 標記
  • MAC - MAC 功能
  • K - 密鑰
  • M - 消息

消息可以由客戶端或伺服器簽名並由另一個驗證,具體取決於情況。雙方以相同的方式計算 MAC,使用相同的函式和密鑰,在相同的消息上。MAC 驗證沒有單獨的功能。接收端唯一的額外步驟是比較接收和計算的標籤是否匹配,然後採取相應的行動。但這與 MAC 算法本身無關。

引用自:https://crypto.stackexchange.com/questions/81869