我對消息摘要的理解是,它是與加密數據一起發送的一些數據的加密散列,因此您可以驗證數據是否未被篡改。這個和消息認證碼(MAC)和散列MAC(HMAC)有什麼不同?Message Digest,Message Authentication Code和HMAC有什麼區別?
48
A
回答
78
- 甲消息摘要算法採用單個輸入 - 消息 - 和產生「消息摘要」(又名散列),它允許您驗證消息的完整性:任何變化到消息將(理想)導致產生不同的散列。可以替換消息和摘要的攻擊者完全能夠用新的有效對替換消息和摘要。
- MAC算法有兩個輸入端 - 的消息和密鑰 - 並且產生MAC,其可以驗證完整性和的消息的真實性:任何變化到消息或祕密密鑰將(理想地)導致產生不同的MAC。沒有祕密的人應該能夠產生驗證的MAC計算;換句話說,可以使用MAC來檢查MAC是否由可訪問密鑰的一方產生。
- HMAC算法只是一種特定類型的MAC算法,它在內部使用散列算法(而不是例如加密算法)來生成MAC。
14
- 甲消息摘要是一個簡單的消息的散列。它是應用於輸入數據的加密散列函數的輸出,它被稱爲消息。
- A 消息驗證碼(MAC)是一條證明消息完整性並且不容易被僞造的信息。
- A HMAC是由RFC 2104定義的特定種類的MAC。
維基百科有很好的文章涵蓋了所有這些條款:見Message Digest,Message Authentication Code和HMAC。
+1
對於MAC,完整性和真實性都可以證明,因爲發送方和接收方共享一個公共密鑰。 – Nate 2013-07-01 00:08:44
相關問題
- 1. MD5 Message Digest Java
- 2. 錯誤: - {「code」:「403」,「message」:「HMAC validation Failure」}
- 3. Send Message和Post Message之間有什麼區別,以及這些與C#,WPF和Pure windows編程有何關係?
- 4. Exception的.ToString()和.Message之間的區別是什麼?
- 5. Ionic 3 Native:File:{code:5,message:「ENCODING_ERR」}
- 6. select message for message feed
- 7. .NET的HMAC和HMAC KeyedHashAlgorithm有什麼區別?
- 8. Mule Message Redelivery
- 9. JGroups:send(null,null,Message)vs send(Address,null,Message)
- 10. Rails erb中的<% code %>和<%= code %>有什麼區別?
- 11. git add之間的區別。和git commit -am「message」
- 12. CXF:PAYLOAD和MESSAGE數據格式之間的區別
- 13. HMAC簽名和哈希直接有什麼區別?
- 14. ISO_8583 MESSAGE包裝
- 15. ModelSim Message Viewer空
- 16. Zend \ Mail \ Message問題
- 17. 紅寶石中OpenSSL :: HMAC#hexdigest與Digest :: MD5#hexdigest之間的區別?
- 18. VS Code和VS 2017社區版有什麼區別?
- 19. Zend_Http_Adapter&error message
- 20. JADE ACL-Message
- 21. Message Queue vs Task Queue difference
- 22. Twilio Message Params Empty
- 23. Google Cloud Message Sandbox
- 24. VBS Message Box
- 25. MVC Localization ViewData [「message」]
- 26. Postfix message received hook
- 27. gcm message to javascript
- 28. javascript flash message
- 29. WSO2 Message Broker 3.0.0和WS-Eventing
- 30. DataContract vs Message Contract
@Rook這裏很老的評論,但CMAC只是MAC的一種特定形式。當然,沒有什麼能反對使用AES-CMAC。 – 2012-08-11 13:32:54
@owlstead你的權利,我很困惑,因爲一些圖書館將其稱爲模式。 – rook 2012-08-11 18:00:06
「一個MAC可以用來檢查MAC是否生成...」不應該是「...檢查_message_是否生成...」? – leonbloy 2017-09-20 13:46:28