我们希望以加密方式 (SHA-256) 对数据库中的秘密值进行哈希处理。由于我们希望使用它来查找数据库中的各个记录,因此我们不能为每个加密值使用不同的随机盐。
我的问题是:如果对我们的数据库进行无限制的访问,并且攻击者至少知道一个秘密值和哈希值对,那么攻击者是否有可能对加密密钥进行逆向工程?即,攻击者是否能够反转所有哈希值并确定所有秘密值?
如果是这样的话,这似乎违背了加密哈希的全部目的,所以也许我错过了一些东西。
目前还没有发布针对 SHA-256 的“第一原像”攻击。如果没有这样的攻击来打开快捷方式,攻击者就不可能从 SHA-256 哈希中恢复秘密值。
然而,提到“秘密密钥”可能表明对哈希值有些混淆。哈希算法不使用密钥。因此,如果攻击者能够攻击一个“秘密值-哈希值”对,他就不会学到一个“密钥”,从而使他能够轻松反转其余哈希值。
当哈希被成功攻击时,通常是因为原始消息来自一个小空间。例如,大多数密码都是从相对较短的真实单词列表中选择的,可能还进行了一些简单的排列。因此,攻击者不是系统地测试每个可能的密码,而是从数十亿个最常见密码的有序列表开始。为了避免这种情况,从大空间中随机选择“秘密值”很重要。
有一些消息身份验证算法将密钥与一些数据散列在一起。这些算法用于保护消息的完整性免遭篡改。但它们无助于阻止原像攻击。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)