Hash

MAC和認證加密的區別?

  • April 15, 2017

我目前正在研究經過身份驗證的加密,我想知道使用 MAC 和經過身份驗證的加密之間是否有區別。似乎經過身份驗證的加密方案使用 MAC 來為密文提供一定程度的完整性。

但是,我不確定是否存在針對不同密碼的特定操作模式,這些密碼本質上提供了一定級別的經過身份驗證的加密,或者是否始終需要 MAC 來提供經過身份驗證的加密?

任何例子都會有很大幫助。

mac 基本上是在加密完全完成後應用的,其中“身份驗證加密”通常是指一種操作模式,它在加密過程中建構身份驗證標籤。“經過身份驗證的加密”的目標基本上是在較少的密碼原語的傳遞/應用程序中做與 mac 相同的工作。

“認證加密”的範例包括GCM 模式和海綿結構提供的雙工模式。使用其中任何一個都將生成帶有密文的身份驗證標籤。如果使用其中任何一種加密數據,則無需在加密後應用 HMAC。

假設改為使用像 CBC 這樣的操作模式。它不會產生身份驗證標籤,為了確保完整性和身份驗證,我們需要應用 HMAC。這必須等到加密完成後*。*因為這本質上是兩個完全獨立的操作,所以與 GCM 模式相比它相對較慢。

引用自:https://crypto.stackexchange.com/questions/33684