資料完整性演算法 訊息認證碼 2

2021-09-02 01:39:28 字數 921 閱讀 8323

訊息認證函式

任何訊息認證或數字簽名都有上下兩層,下層有產生認證符的函式,認證符是乙個用來認證訊息的值,上層協議將該函式作為原語使接收方可以驗證訊息的真實性。

產生認證符的函式有哪些?

訊息加密

訊息加密提供了一種認證手段,對稱密碼公鑰密碼體制中對訊息加密的方法是不同的,

下面的我們先談談公鑰加密

直接使用公鑰加密可以提供保密性但不能提供認證。傳送發a使用接收方b提供的公鑰pub對m加密,因為只有b有對應的私鑰prb,所以只有b能對訊息解密,但是任何攻擊者可以假冒a用b的公鑰對訊息加密,僅僅用公鑰加密不能保證真實性。

若鑰提供認證,則a用自己的私鑰對訊息加密,而b用a的公鑰對接收的訊息解密

和對稱密碼情形的推理一樣,這提供了認證功能,因為只有a有pra,能產生用pua可解密的密文,所以該訊息一定來自於a,

同樣,對明文也必須有某種內部結構能使接收方區分是否是真實的明文還是隨機的位串

但大家有沒有發現問題?傳送方a用自己的私鑰對訊息加密(也就是簽名),接收方能用a的公鑰對接收到的訊息解密,同樣攻擊者也可以用公開的公鑰對其解密,所以這種方法不能提供保密性

如果既要提供保密性又要提供認證,那麼a可以先用自己的私鑰對m加密(也就是數字簽名),然後a用b的公鑰對上訴結果加密,這可保證保密性。但這種方法的缺點是,一次通訊中要執行4次而不是兩次複雜的公鑰演算法

reference:《cryptography and networking security》6th ,william stalling

訊息認證碼 hmac

hmac hash message authentication code 是用來確認訊息的完整性及認證訊息的傳送者的技術 完整性,是通過判斷hash值來確定的 認證,是通過對稱密碼的金鑰來完成的 因為是對稱密碼,所以傳送發和接收方事先需要共享金鑰 公式 hmac hash msg,key 傳送方傳...

訊息認證碼 CMAC

於nist的標準 recommendation for block cipher modes of operation the cmac mode for authentication nist 基於分組密碼cbc模式的 訊息認證碼,最後乙個分組 可能需要填充填充10.0 與子金鑰異或後參與cbc模...

訊息認證碼(MAC)

訊息認證碼 帶密碼的hash 能提取訊息的 指紋 訊息認證碼 mac message authentication code 是種訊息認證技術。傳送方a和接收方b共享金鑰 k,若a向b傳送訊息。則a計算利用c f k,m 計算mac值 然後將原始訊息m和c一起傳送給接收方。接收方b對收到的訊息m用相...