2
在維基百科UMAC,https://en.wikipedia.org/wiki/UMAC,它指出:爲什麼在UMAC(通用消息認證碼)算法中進行散列之後進行安全性所需的加密?
結果摘要或然後指紋被加密隱藏所使用的散列函數的 身份。
此外,在本文中,http://web.cs.ucdavis.edu/~rogaway/papers/umac-full.pdf,它指出:
甲消息由與共享散列函數散列 ,然後進行加密所得到的散列(使用加密密鑰)驗證。
我的問題是,如果設定的散列函數H
是足夠大的,和散列桶|B|
的數量足夠大,我們爲什麼需要加密 - 是不是祕密的散列是否足夠安全?
例如,在最壞的情況下,每個客戶端都發送相同的短內容,如「x」。如果我們散列到32個字節,並且我們的散列取決於一個32字節的密鑰,並且散列表現出統一的屬性,那麼即使沒有加密,攻擊者又有什麼希望知道任何單個客戶端的祕密散列密鑰?
而且,如果攻擊者不知道密鑰,攻擊者怎麼會希望惡意更改消息內容?
謝謝!
不幸的是,通用的散列函數族是我從來沒有學過的東西。但是,如果我現在有時間研究它,我會查看UMAC概念基於的舊的[Wegman和Carter論文](http://www.sciencedirect.com/science/article/pii/0022000081900337) 。 – TheGreatContini