哈希明文以确保完整性?

时间:2013-10-17 03:11:24

标签: cryptography integrity

在密码学中,我听说可以使用散列消息来实现完整性,以检查消息是否被修改。但是哈希是如何发送给另一方的呢?也可以更改消息和哈希值,以便其他方看到消息未被修改!!

2 个答案:

答案 0 :(得分:1)

单独的哈希不能证明消息没有被篡改,您应该使用您的私钥对哈希进行签名,然后收件人可以使用您的公钥对其进行验证。或者,如果您有共享密钥,则可以使用HMAC对其进行签名。这不能伪造,因为没有其他人拥有您的私钥/密钥。

答案 1 :(得分:1)

为了获得完整性或机密性,您始终需要一些未被篡改的共享数据。此共享数据通常是共享密钥或发件人的公钥。

使用共享密钥,您使用的是HMAC,即hmac(message, key)

如果接收方具有发送方公钥,则发送方可以使用其私钥对消息进行签名(许多可能的方法,DSA,RSA等),接收方可以使用公钥来确定消息是否来自发件人。