键控散列和非键控散列之间的区别?

时间:2010-02-08 00:11:19

标签: encryption hash

我在.net中读过一些关于加密的文章,这引出了以下问题:keyed hash和非keyed hash之间的区别是什么?

1 个答案:

答案 0 :(得分:5)

非键控散列产生的输出仅取决于输入数据。如果它在加密方面是安全的,那么就没有任何已知的方法比bruteforce更快找到:

  • 哈希到特定输出的输入;
  • 两个输入散列到同一输出。

密钥哈希产生的输出既依赖于输入数据,也依赖于密钥。如果它是加密安全的,那么它满足非键控散列的上述属性,此外:

  • 鉴于使用该密钥生成的一组输入和输出对,没有比bruteforce更快的方法来查找使用的密钥;
  • 没有已知的方法比随机机会更好地为特定键下的任何输入找到正确的输出,而不知道密钥。