从零学习数字签名,了解它的三大作用

贝壳手表CCT·热度: 236543
现实生活中的身份确认在网络通信中同样需要,只不过这时候不是手写的签名,而是一种物理签名——数字签名。

签名的作用

现实生活中,有很多场景需要我们签名,刷卡消费、签订协议、书信往来,等等。这些签名是为了证明我是我,信息真实发生,签名者同意,不可抵赖。在网络通信中,如果发送方在发送某个消息之后突然反悔,不承认发送过该消息,而网络中又无法确认信息发送者的身份,就会比较麻烦,因此现实生活中的身份确认在网络通信中同样需要,只不过这时候不是手写的签名,而是一种物理签名——数字签名。

数字签名


首先我们需要清楚什么是私匙和公匙。

公匙和私匙

用户注册的时候会得到一个账户,包括一对公匙和私匙。公匙是公开的,私匙是只有自己知道的。通过公匙加密的信息只有对应的私匙可以解密,通过私匙加密的信息只有对应的公匙可以解密。

他人通过使用我们的公匙加密向我们传递信息,我们可以用私匙解密。

私匙是我们自己用来签名确认的,私匙加密的信息上传到网络,他人可以通过公匙解密确认我们的身份。

签名的生成

签名的生成是具有特殊性的,取决于传递的信息,因此每次签名的字符串都是不一样的。

1、将消息进行哈希计算,得到相应的哈希值,也成摘要;

2、将得到的哈希值用发送者的私匙进行加密 ,生成签名;

3、将签名和消息一起发送,就像写信一样,信纸上是传递的信息,签名要写在信封上一起发送。

签名的验证

1、接收者提取信息中的签名;

2、用发送者的公匙可以解密,得到信息的哈希值;

3、用自己的私匙解密原文信息,在进行哈希计算,得到另一个哈希值;

4、对比两个哈希值,如果一致则验证成功。

信息传递中的流程

为了保护信息的安全和身份确认,网络中信息发送和接收过程中同时平行进行双重处理:1、发送方将需要传递的信息通过接收方的公匙加密,接受方用自己的私匙解密;2、发送方将信息摘要用自己的私匙加密,接收方用接收方的公匙解密。这两个信息(原文密文和签名)一起发送。


 按照图上的流程,如果A想要给B发送信息“hello kitty”,

发送:首先A需要对“hello kitty”进行双重处理,首先将“hello kitty”用B的公匙加密,得到原密文,然后对“hello kitty”极性哈希计算得到相应的哈希值,再用A自己的私匙对该哈希值加密,得到A的数字签名,最后将签名后得到的原文密文和A的签名一起发送给B。

接收:B接收到A打包发送的信息后,通过A的公匙解开A的签名,可以得到“hello kitty”的哈希值,再通过B自己的私匙解开原文密文,在进行哈希计算,得到摘要,将两个摘要进行对比就可以判断A的身份和信息是否准确,如果一致,则接受完成。

数字签名的作用

  • 确认身份,通过公匙解密,数字签名可以指定接收者确认发送者的身份;

  • 信息完整、不被篡改,通过对信息进行不对称加密,加大了网络中恶意篡改的难度,通过私匙解密,可以判断信息是否受损;

  • 不可抵赖,由于接收方手中有发送方的签名为证,证明信息源,所以不容抵赖。


  • 文章声明:本文为火星财经专栏作者作品,版权归作者所有,不代表火星财经观点。

声明:本文为入驻“火星号”作者作品,不代表火星财经官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。 未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:作为区块链信息平台,本站所提供的资讯信息不代表任何投资暗示,本站所发布文章仅代表个人观点,与火星财经官方立场无关。鉴于中国尚未出台数字资产相关政策及法规,请中国大陆用户谨慎进行数字货币投资。
语音技术由科大讯飞提供
最近更新
本文来源:贝壳手表CCT
原文标题:
24H热门新闻
暂无内容

评论0