散列函数和完整性

时间:2012-08-26 06:49:25

标签: hash integrity

考虑以下情况:

  1. 我有一个字符串s和哈希函数H生成哈希“h”。
  2. 我将s和h发送给另一个。
  3. 他把s和h送回给我。
  4. 在收到的s和h上,我执行h'= H(s)并将其与收到的h进行比较,如果它们相同则意味着步骤3中收到的si与我在步骤2中发送的完全相同。
  5. 这是对的吗?

    如果某人有h和s但没有H哈希函数,他能发现(或创建)H函数吗?

    感谢

1 个答案:

答案 0 :(得分:1)

  1. 是的,如果哈希值相同,则两个字符串都相同,可能是哈希冲突的例外。

  2. 一般情况下,无法对字符串及其哈希值进行反向工程。显然,如果散列函数是常见的(SHA1),那么“攻击者”尝试不同的标准散列算法并查看使用哪一种算法是微不足道的。但这可以通过散列s和一些秘密来解决。