区块链数字签名详解

作者: admin 分类: 区块链 发布时间: 2018-04-13 11:04 ė1,450 浏览数 6没有评论
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)

之前给大家讲过hash,今天讲讲签名。

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

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

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

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

然后通过哈希得到摘要。

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

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

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

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

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

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

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

精妙之处有三点:

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

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

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

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

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

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

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

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

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

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

https://baijiahao.baidu.com/s?id=1591887399924128618&wfr=spider&for=pc



只回答业务咨询点击这里给我发消息 点击这里给我发消息

学习日记,兼职软件设计,软件修改,毕业设计。

本文出自 学习日记,转载时请注明出处及相应链接。

本文永久链接: https://www.softwareace.cn/?p=1748

0

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">


Ɣ回顶部

无觅相关文章插件,快速提升流量