为什么需要使用一个随机数来散列2个随机数和一个密钥而不是散列?

时间:2011-03-14 15:59:32

标签: security hash

我有c1c2作为随机数。我有1000 keys。我使用发件人c1生成的随机数来散列非重复和安全密钥,然后将其发送回发件人进行验证。但为什么我需要在c2之上使用由我自己生成的另一个随机数c1+key将其发送给发件人?

2 个答案:

答案 0 :(得分:0)

我不确定,但我认为你应该编码你的答案。 http://en.wikipedia.org/wiki/Three-pass_protocol

答案 1 :(得分:0)

我取决于你正在做什么,你并没有真正说出来。散列是一种既不涉及密钥也不涉及随机数的通用技术。 Salting涉及随机数,密钥用于加密或身份验证。

在您的问题的行之间阅读,您似乎正在使用密钥进行身份验证,但是为什么要将它们发送回发件人?您可以在协议中使用两种盐,如果所涉及的双方不完全相互信任使用适当的盐 - 通过使双方都提供盐,两者都可以确保盐是真正随机的并且不会不涉及后门或重播攻击。