区块链技术

数字签名

本文主要是介绍数字签名,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本文由EOSUnion(eos.ren)优质内容计划赞助


刘员外在上次跪过搓衣板后,依旧垂涎于阿花的美色,没过多久就又动起了歪心思,悄悄地给阿花写了封信,约在九月九日晚上九时在城南的驿站相见。员外在收到阿花的确认信之后,心如热锅上的蚂蚁,一直盼着这一天的到来。

终于在九月九日这天,员外早早去了城南驿站,开好房等着阿花的到来。可是捉急的员外左等不见阿花,右等也不见阿花,一晚上过去了,仍不见阿花的身影!这到底是咋回事呢?

原来在员外的信在还没有寄出去之前,就已经被正房截获了,正房心想得出个妙招,让这俩人彻底的分开,在跟偏房一起商量过后,令管家模仿员外的字体,写了一封分手信寄给了阿花。可能您看到这儿回想,那员外不是还收到阿花的确认信了吗?其实阿花的回信,同样被正房截获,照旧模仿了一封假信送给了员外。

可怜的员外简直是死都不知道咋死的!


这个故事中,存在一个问题,就是阿花和员外可以收到彼此的信件,但是只能通过字体来辨别是不是对方亲手写的,然而每个人的字体又可以模仿,所以问题就出在如何去鉴别发送者的真身!

数字签名

在前面学过公钥、私钥和哈希值之后,我们继续了解一下数字签名是咋回事。

数字签名是由信息发送者才能产生的一个值(字符串),就是一串数字与大小写字母的组合。在上面的故事中,刘员外的字体、签名都可比喻成数字签名,员外在发出信件之后,阿花只能凭字体和签名来鉴证这封信是不是员外给她写的。但是这种签名极易伪造。

数字签名怎么来的?

如果员外活在这个年代的话:

  • 员外用阿花的公钥加密信件,得到一份密文;

  • 用哈希算法哈希密文,得到一个密文的哈希值;

  • 员外用自己的密钥加密哈希值,便可得到数字签名;

然后将密文与数字签名一同发给阿花。

阿花需要如何验证呢?

  • 获得原文内容

    • 先用她的私钥解密密文,就可得知原文得到内容;

  • 重点:确认是不是员外亲自发来的信件

    • 用员外的公钥去解密数字签名,如果如果解密结果与收到的密文的哈希值相同,就代表该信件是员外本人发的,且没有被伪造。

应用

数字签名的发明,使得他人无法伪造,同时发送者本人也无法抵赖,因为它有唯一性,只要拿出发送者的私钥进行验证一下,便可得着真假!

主要应用于银行、各种商业机构、还可以对商业信息进行加密,当然特别重要的是还应用在了比特币等区块链数字货币中,保护您的财产不被侵犯。





这篇关于数字签名的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!