Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设出于某种原因我想使用 SHA512 作为我的散列函数。假设我也有它的源代码。
SHA512 包含常量表。如果我在此表中到处更改几个值(例如 5)怎么办?
这将如何影响散列函数的可靠性和对攻击的“抵抗力”(它不再是标准算法,攻击者可能不知道轮值已更改)?
SHA512 中的轮常数是随机选择的。(更准确地说,它们是前 64 个素数的立方根的小数部分——这种方法被用来表明这些数字没有隐藏漏洞;具体方法对安全证明并不重要。 )
除非您选择真正退化的值,例如零,否则更改它们应该不会影响算法的安全性。