不知何故,我沒有得到HMACs。HMAC與對稱密碼學有什麼好處?
我曾經問Why do I need HMACs when we do have public key signatures?,我覺得我得到了這一個。更容易計算,等等...
但是,我不明白的是,爲什麼我們分別爲他們解決什麼樣的問題需要HMACs可言。
從我的理解,HMACs ...
- 提供了一種方法,以確保信息不被篡改,
- 是由祕密「安全的」,但對稱密鑰。
因此,爲了計算HMAC(初始或驗證),我確實需要知道密鑰。
現在,如果我能在沒有它被tampared以祕密的方式交流這方面的關鍵,我也可以在沒有它被篡改的非常相同的祕密的方式交換信息,不是嗎?
好了,現在你可能會說,你只需要一次交換密鑰,但是你可能有多個消息。沒關係。
但是,如果我們現在有一個祕密密鑰必須得到各方的保密,我們也可以直接使用對稱加密使用同樣的密鑰來加密消息,我們能不能?
當然,HMAC應提供防篡改解決方案,但是如果我只有一個沒有密鑰和合理加密算法的加密消息,我不能以a)解密仍然有效的方式更改該加密消息,和b)出現有意義的解密消息。
那麼我需要一個HMAC實際用於什麼? 或者 - 我失蹤的地方在哪裏?
我認爲一種可能的用途是如果您交換了大量信息,並且不希望加密和解密所有信息的計算開銷 - 尤其是移動和嵌入式設備,這可能會成爲問題。 – Patashu 2013-02-10 09:44:33
我很高興這得到了正確的回答,但應該在http://crypto.stackexchange.com/上提出這個問題(如果尚未提出)。 – 2013-02-10 12:36:32