首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

区块链数字签名详解

之前给大家讲过hash,今天讲讲签名。先仔细看下边这张图。

发送方把hello kitty的信息进行双重处理。首先是通过接收方公钥来进行加密,

为什么要接收方的公钥来加密? 因为只有接收方的私钥可以解开接受方公钥加过的密,所以只有接受方可以解密。

然后hello kitty还要通过哈希值得到摘要,接要再经过发送方私匙进行签名,签名后得出的原文密文和发送方签名一起发给接受方。

接收方用自己的私匙解开密文,得到hello kitty.

然后通过哈希得到摘要。

另外则是通过发送方的公钥解开发送方签名,得到摘要,并且通过解密原文密文的摘要和解密发送方签名的摘要进行对比,最后的摘要一致,则认为摘要是对的。

通过这样的方式,接受方完成了对发送方签名过的hello kitty信息的认证。

这里要记一个口诀,公钥加密,私钥解密,私钥签名,公钥解密。

再短一点,则是公钥加,私钥解,私钥签,公钥解。

有个问题,为什么用接收方的公钥加密hello kitty?因为通过这种方式,只有接受方的私钥才能解开。

为什么要用发送方的私钥签名,不用其它人的私钥签名?因为这种方式,才能让接收方确认这条信息是发送方发出来的。只有发送方的公钥才能解开发送方的签名。

读到这里,想必你已经知道,这套数字签名的方式有多么精妙了吧!

精妙之处有三点:

1. 数字签名方式保证了信息加密的安全。

2. 接收方可以明确的知道是发送方发出的私密信息。

3. 使得接收方对信息的验证非常容易确认,确认解密的过程中没有错误的发生。

再一个问题,如果发送方发送完之后人去世了,会影响接收方接收信息吗?

答案是不会。因为发送方的公钥是公开的,接收方有自己的私钥可以解开原文的密文,并且用发送方的公钥可以解开发送方的签名。

最后一个问题,如果接收方收到信息后去世了,还能收到信息吗?

嗯,如果接收方的私钥全天下只有接收方一个人知道,这条信息接收方就收不到了。因为接收方已经去世,所以收不收得到对接收方已经不重要了。(把暴力破解的情况排除,按现在的计算机算力,一千年吧!)

但是,如果发送方送过来的是比特币,那么接收方的私钥就非常有价值了。

其实hello kitty改成比特币你就明白了,在进行信息传递的时候,数字签名也完成了比特币的价值传递。

这就是区块链比互联网牛逼的地方。互联网只进行信息传递,而没有价值传递,而区块链不但有信息传递,还伴随着价值的传递。这一层意义有多重要,你可以自己悟。

有疑问的地方欢迎留言交流~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180208G1C32L00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券