Public-Key
可以說 MAC 使用簽名算法嗎?
MAC 上的Wikipedia 頁面將用於生成 MAC 的算法稱為簽名算法。這是對這個詞的合理使用嗎?那麼我們可以說 HMAC-SHA-1 使用 SHA-1 作為簽名算法嗎?
由於術語簽名算法通常用於使用非對稱加密的數字簽名中,這不會造成混淆嗎?
你誤會了什麼。HMAC-SHA-1 不使用 SHA-1 作為簽名算法。簽名算法是 HMAC-SHA-1 計算,而不是中間 SHA-1 計算。簽名算法將密鑰和消息作為輸入,並生成 MAC 值作為輸出。
HMAC 構造使用的散列算法的常用術語是“基礎散列算法”。請注意,擁有底層雜湊算法並不是 MAC 的通用屬性。例如,CMAC 有一個底層的分組密碼,但沒有底層的散列算法。
詢問使用一個詞是否“公平”是沒有意義的。沒有道德考慮。正確的問題是它是否可能令人困惑——但術語選擇在某種程度上是任意的。
一對單詞“加密、解密”同時用於對稱和非對稱加密。它會造成混亂嗎?根據我的經驗,也許可以,但不多。混淆源於對概念的不理解,而不是對兩個相關但不同的概念使用相同的詞。
對於對稱和非對稱密碼系統來說,真實性需要不同的詞並沒有內在的原因,但是對於相同的詞來說,機密性就可以了。這只是一個歷史意外。並且“驗證”已經用於對稱和非對稱密碼系統。
不對 MAC 使用“簽名”的唯一原因是它不常見。在密碼學中,“簽名”幾乎總是指非對稱簽名密碼系統、該密碼系統的簽名操作或該簽名操作的輸出(或驗證操作的輸入)。但是,如果建立了對稱系統的上下文,就不會有混淆的風險。在 MAC 的上下文中,使用“簽名”這個詞來表示 MAC 值的計算是明確的,除了“MAC”本身(它也指一般的密碼系統和值,所以它很模棱兩可)。
因此,雖然 MAC 計算的“簽名”不是成熟的術語,但它應該是。這將減少混亂。