数字签名是区块链和数字加密货币的基础技术之一。数字签名为什么如此重要呢?它们的特点体现在以下几点:
1. 对摘要进行加密,确保数据不可篡改。
2、算法的防冲突性和保密性使得信息接收者可以通过接收到的信息来验证发送者的身份,从而获得信任。
3.由于上述特点,公钥不需要中央机构注册,也可以用作个人识别标记,而不会损害个人隐私。
基于以上特点,再结合其他巧妙的设计,就演变成了现在的百花齐放的景象。
本来想写一篇文章解释清楚,但是阮一峰的这篇翻译(原文地址:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html)很容易理解,很好地解释了基本原理。解释得很清楚。我需要再写一篇。
以下为原文。
============================================================
鲍勃有两把钥匙,一把公钥和一把私钥。
鲍勃将他的公钥提供给他的朋友帕蒂、道格和苏珊。
苏珊想给鲍勃写一封秘密信。她写完后,用鲍勃的公钥对其进行加密以保密。
Bob收到信件后,用自己的私钥解密并看到信件的内容。这里必须强调的是,只要Bob的私钥不被泄露,这封信就是安全的,即使落入别人手中也无法解密。
鲍勃给苏珊回信并决定使用“数字签名”。写完后,他首先使用哈希函数生成了这封信的摘要。
然后鲍勃使用他的私钥加密这个摘要以生成“数字签名”(签名)。
鲍勃将此签名添加到信的底部并将其发送给苏珊。
Susan收到这封信后,去掉数字签名,用Bob的公钥解密,得到这封信的摘要。这证明这封信确实是鲍勃寄出的。
然后,苏珊对信件本身使用哈希函数,并将结果与上一步中获得的摘要进行比较。如果两者匹配,则证明该字母未被更改。
出现并发症。为了欺骗苏珊,道格秘密使用苏珊的计算机,并用自己的公钥交换鲍勃的公钥。此时,Susan 实际上拥有Doug 的公钥,但她认为这是Bob 的公钥。因此,道格冒充鲍勃,使用他的私钥创建“数字签名”,并给苏珊写了一封信,要求苏珊使用鲍勃的假公钥对其进行解密。
苏珊随后意识到有些不对劲,并发现她无法确定公钥是否真的属于鲍勃。她想出了一个办法,让鲍勃找到一个证书颁发机构(CA)来认证公钥。证书中心用自己的私钥对Bob的公钥和一些相关信息进行加密,生成“数字证书”(digitalcertificate)。
一旦Bob获得了数字证书,他就可以安心了。下次您给苏珊写信时,只需签名并附上数字证书即可。
苏珊收到信件后,使用CA的公钥解锁数字证书并检索鲍勃的实际公钥,以证明“数字签名”是否确实是鲍勃可以签署的。
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/86679.html