【问题标题】:Need some help related to sha512需要一些与 sha512 相关的帮助
【发布时间】:2021-02-05 04:14:30
【问题描述】:

我想从哈希 sha512 中获取原始字符串的第一个字符。我的原始字符串的格式 它有32个字符吗? { 1, 2, 3, 4...9, T,J,Q,K } 集中的第一个字符 { D, S, H, C } 集合中的第二个字符 第三个字符是“-” 和 { a 到 z、A 到 Z、0 到 9 } 集中的最后一个字符 我想输入“e9353e5aa1dedb3eb4767da8d21b81d7dbf10fa8f23e4704084c989edf5293a46f41f8b3c77c6f828ccf1f688585a52fe0b0601b0c2485af656579bb9b5cd48f” 这是“1S-74iaoSurg6nVxMzkqwVQMcmWvzmpP”的散列字符串

我希望输出为“1”

如果有人在这方面帮助我,我将不胜感激。 谢谢

【问题讨论】:

  • 您必须测试所有可能的输入组合,直到找到具有相同哈希值的组合。如果你有大约 10^40 年的计算能力,每秒 100 万次猜测,那应该没问题。
  • 有没有简单的方法...?
  • 当然不是,这是一个哈希,一个现代的。如果有一个简单的方法,那真的会被打破。
  • 实际上我正在做一个项目,这是我的最终动机......那似乎是不可能的
  • 这听起来像XY problem。说明你想要实现什么,不要问如何破解现代哈希函数。

标签: cryptography sha sha512 sha2


【解决方案1】:

您只能通过尝试每个输入值(如果可能,按可能性顺序)来获得单向哈希函数输出的输入。

第一个字符有 13 个选项,下一个字符有 4 个选项,字符串的最后 29 个字符有 62 个字符。我们可以忽略单个破折号。

这使得13 * 4 * 62 ^ 29 = ~5 × 10^53 有可能进行测试。因此,如果这就是您所拥有的一切,那么这将无法解决。如果存在这种情况,则相当于破解 178 位 AES 密钥(通过取可能性数量的 2 对数来计算,或者将 53 除以大约 3,然后乘以 10 进行快速近似)。

【讨论】:

  • Log2(13 * 4 * 62 ^ 29)+1 ~= 179. log2 位需要加法。有一个 \lfoor 我不能在这里写。
  • 超过 128,这就是这里最重要的:P。嗯,抱歉,在估算强度时最好舍入 down。或者解释一下+1?
猜你喜欢
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 2010-10-23
  • 2012-09-12
  • 1970-01-01
  • 1970-01-01
  • 2011-02-24
  • 2011-08-25
相关资源
最近更新 更多