3
序言:我對HMAC很陌生,所以請原諒我,如果問題有點愚蠢。爲什麼我們需要公鑰簽名時需要HMAC?
就我所知,HMAC用於確保消息沒有被篡改。所以基本上,它作爲一個哈希碼。但是,由於散列算法是已知的,攻擊者可以很容易地爲消息的篡改版本計算新的散列碼。
這是HMAC試圖解決的問題:它們提供的散列不僅基於應該散列的消息,而且也基於密碼密鑰。通過這種方式,無法在不知道密鑰的情況下計算消息的有效性。
這是正確的嗎?
我現在的問題是:如果我們可以使用公鑰簽名實現相同的目標,我們需要什麼HMAC? IIRC簽名的工作方式完全相同:計算哈希並簽名以確保沒有人篡改郵件或哈希。
那麼HMAC有什麼意義?
好的,但概念上它是一樣的? –
不,不是真的。公鑰簽名將身份與簽名關聯起來,簽名可以由沒有共享密鑰的人檢查。 HMAC只允許您與您共享密鑰的人檢測到篡改。 –
然後我還沒有理解他們的意思。如果我有共享密鑰,爲什麼不使用AES進行加密/解密? –