Hash

XORing 雜湊與連接的安全性

  • May 9, 2018

關於這個問題https://stackoverflow.com/questions/5889238/why-is-xor-the-default-way-to-combine-hashes有幾個答案說異或是組合雜湊的錯誤/不安全選擇。然而,他們中的大多數人說關於異或兩個相同的雜湊。

如果我想組合 Keccak-256、Skein-256-256、Blake2b-256 和 Groestl-256 雜湊,連接部分雜湊或將雜湊異或在一起會更安全嗎?

答案是(一如既往):視情況而定。如果你想要偽隨機性,那麼 XOR 是一個很好的組合器(實際上甚至是最優的)。但是,如果您想要抗碰撞性,那麼 XOR 是一個非常糟糕的組合器,因為您無法證明兩個雜湊函式的抗碰撞性意味著組合器的抗碰撞性。如果您考慮一下,該組合器的衝突並不意味著任何一個雜湊函式的衝突。同樣的論點也適用於第二原像阻力。相反,對於級聯組合器,組合器的衝突包含兩個雜湊函式的衝突。

對於單向來說,情況要復雜一些。但是,您不能使用組合器的原像查找器來查找散列函式之一的原像…

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