hash之更快地找到正确的 block 顺序以获得已知的 SHA1 哈希

不点 阅读:94 2024-06-20 12:54:19 评论:0

假设一个已知的 SHA1 哈希是通过连接多个数据 block 计算得出的,并且这些数据 block 的连接顺序是未知的。找到给出已知散列的 block 顺序的直接方法是为每个可能的排序计算一个 SHA1 散列,直到找到已知散列。

是否可以通过分别为每个 block 计算 SHA1 哈希然后仅通过操作哈希来找到 block 的顺序来加快此速度?

请您参考如下方法:

简而言之,没有。

如果您使用的是 SHA-1,由于 Avalanche Effect ,明文中的任何微小变化(在你的情况下,你的 block )都会显着改变其相应的 SHA-1。

假设你有 4 个 block :A B CDA+B+C+D (concated) 的 SHA1 哈希假定A、B、C 和 D 的 SHA1 哈希不相关 单独计算。

由于它们不相关,您无法在连接 block (A+B+C+D、B+C+A+D 等)和每个单个 block ( A、B、C 或 D)

如果你能识别出两者之间的任何关系,那么 SHA1 散列算法就会出现问题。


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号