我在数据上应用SHA-512。理论上/实际上是否可以从SHA-512哈希中为原始数据派生SHA-256哈希?
答案 0 :(得分:2)
由于它们具有不同的轮数,不同的内部状态大小和不同的块大小,我非常确定SHA-256和SHA-512的结果是如此不同,以至于您无法从中获取它们中的任何一个另一个。
但是如果你是偏执狂,你可以为不同的哈希函数附加/前置不同的数据。即你计算SHA-256("A"+data+"B")
和SHA-512("D"+data+"E")
(当然是用较长的字符串而不是ABCD)。
我看到的唯一可能性是,如果可能的输入值的集合很小,那么您可以强制执行可能的值,直到您点击已知的哈希值然后计算另一个哈希值。基本上,如果条件是攻击者可以反转已知的哈希值,他也可以计算另一个哈希值。