3
比方說,無論出於何種原因,我都想使用SHA512作爲哈希函數。假設我也有它的源代碼。更改圓桌中的哈希函數值
SHA512包含循環的恆定表。如果我在這張桌子的這裏和那裏改變一些數值(例如5)會怎麼樣?
這將如何影響哈希函數的可靠性和對攻擊的「阻力」(它不再是標準算法,攻擊者可能不知道輪值已被更改)?
比方說,無論出於何種原因,我都想使用SHA512作爲哈希函數。假設我也有它的源代碼。更改圓桌中的哈希函數值
SHA512包含循環的恆定表。如果我在這張桌子的這裏和那裏改變一些數值(例如5)會怎麼樣?
這將如何影響哈希函數的可靠性和對攻擊的「阻力」(它不再是標準算法,攻擊者可能不知道輪值已被更改)?
隨機選擇SHA512中的圓常量。 (更準確地說,它們是前64個素數的立方根的小數部分 - 這種方法被用來表示數字沒有隱藏漏洞;具體的方法對安全性證明並不重要。 )
除非您選擇真正的退化值(如零),否則更改它們應該不會影響算法的安全性。
哪些常量 - 初始散列值或圓常量? (兩者實際上只是隨機數字。) – duskwuff
@duskwuff我在想常數 – Mithras
@leppie你打破你的意思是碰撞的可能性更大?但是對於攻擊者來說,它不會變得不那麼有價值(他不能使用他已有的/爲未經修改的算法生成的資源,可以嗎?)? – Mithras