Cbc-Mac

為什麼使用CBC-MAC?為什麼不對整個消息應用散列函式呢?

  • January 7, 2014

為什麼不對整個消息應用散列函式呢?為什麼將該消息轉換為塊並散列這些塊?為了避免碰撞?

散列函式不是 MAC,儘管您可以將其轉換為 MAC(參見例如 HMAC)。

MAC 的目的是消息的真實性/完整性——防止攻擊者(即不知道密鑰的人)修改消息或偽造消息。散列函式通常無法實現 MAC 的功能,因為散列函式是未加密的——因此攻擊者總是可以偽造假消息,因為他們可以像合法方一樣輕鬆地計算任何消息的摘要。

使用 MAC,例如 CBC-MAC 或 HMAC,只有知道密鑰的人才能輕鬆計算給定消息的身份驗證“標籤”,因此如果發送的消息伴隨著該消息的正確標籤,那麼接收者知道消息幾乎肯定是由知道密鑰的人發送的,並且在傳輸過程中沒有被更改(即更改為不同的消息)。

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