首页 > 解决方案 > 数字签名:我们为什么需要它?

问题描述

我不明白一些可能非常微不足道但对我来说仍然没有意义的东西,如果可以用公钥解密,为什么我们需要数字签名。根据这篇文章https://www.instantssl.com/https-tutorials/digital-signature.htmlAlice 写了一条消息,然后使用 pk 对消息进行散列和加密。加密的消息被发送过来,Bob 仅使用 Alice 的公钥对其进行解密。他们比较了哈希值等等......我明白除了一步之外的一切:如果鲍勃只能用一个公钥解密消息,那如何防止消息被其他人解密,如果这不是重点对于数字签名(加密),我们为什么还要费心加密消息的哈希值。bob 不能简单地运行接收到的消息的哈希值并将其与 alice 发送给他的哈希值进行比较吗?

标签: encryptionhashcryptographydigital-signature

解决方案


加密和数字签名服务于两个截然不同的目的。你让他们感到困惑。

我们散列消息,用我们的私钥加密散列,然后将明文消息和加密的散列发送给我们的收件人。

我们的接收者使用我们的公钥解密散列,自己散列明文消息,并比较两个散列。

如果哈希值匹配,接收者就可以知道消息确实来自我们(或者,至少来自拥有私钥的人)。


推荐阅读