首页 > 解决方案 > 我们可以反转第二个 sha256 哈希吗?

问题描述

我可以将 sha256 哈希(如第二个哈希)反转为第一个哈希吗?

  1. ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
  2. da3811154d59c4267077ddd8bb768fa9b06399c486e1fc00485116b57c9872f5

第二个哈希是由 sha256(1) 生成的,所以可以反转到第一个哈希吗?

标签: hashcryptographysha256

解决方案


简而言之,截至 2019 年,NO.

简而言之,加密哈希函数是单向确定性但随机的函数。确定性意味着相同的输入始终具有相同的输出,并且在输出不可预测的意义上是随机的。

在密码学中,我们通过以下方式考虑哈希函数的安全性

  • Preimage-Resistance: 对于基本上所有预先指定的输出,要找到任何散列到该输出的输入在计算上是不可行的,即,要找到任何原像x',使得h(x') = y当给定任何对应输入未知的 y 时。
  • 2nd-preimage resistance,weak-collision: 找到与任何指定输入具有相同输出的任何第二个输入在计算上是不可行的,即,给定x,找到一个 2nd-preimagex' != x使得h(x) = h(x')
  • 碰撞阻力:在计算上找到任何两个不同的输入 是不可行的xx'它们散列到相同的输出,即,使得h(x) = h(x')

您正在寻找的是原像。对于这些冲突,有像 MD4 和 SHA-1 这样的加密哈希函数。但是它们都仍然具有前像和第二原像抗性。

对于 Sha256,尚无已知的二次碰撞攻击。它被认为是一种安全的散列函数。

您可能会发现一些SHA-256的彩虹表, 其中可能包含您的哈希值,但可能没有,因为空间太大而无法覆盖。


推荐阅读