
消息認證是指對消息的完整性認證,其含義是一個“用戶”檢驗它收到的文件是否被第三方有無意識的篡改。根據應用對象不同,“用戶”的概念可以是:文件的接收者、文件的閱讀者或一個登錄的設備等。
1.序列密碼實現的消息認證
用序列密碼達到消息的完整性認證方法有許多,這裏只用加密裝置間的溝通為例表明收發兩方共享密鑰一致性的實現。
針對沒有明密文反饋的序列密碼,可直接把最開始得到的一些亂數明傳過去,收方檢驗得到的亂數是不是和本密碼機得到的對應亂數相同。這裏序列密碼得到的最初亂數即為收發兩方共享的密鑰的認證碼。那麼收發兩方密碼機的可共享密鑰不同的幾率為1/264。
2.分組密碼實現的消息認證
對於分組密碼,當收發兩方共享的會話密鑰每次都變時,發方可用該密鑰加密全0明文分組,且把得到的密文結果傳給收方。收方把收到的密文和其加密0明文分組的結果相較,如果一樣,則信任雙方共享的會話密鑰是一致的,從而達到了共享密鑰的完整性認證。當會話密鑰在某時間內不變時,在該密鑰的生存期內,發方每次可得到一個跟時間變化的明文分組,對此明文分組加密且把明文與密文傳給收方。收文對收到的明文用共享密鑰加密,得到的密文與收到的密文相較,從而實現共享密鑰的完整性認證。
以上方法的重點注意的是產生密文一定是根據時間變化而變化的,以此來防止攻擊者重放攻擊。
