What is a Digital Signature?
Posted luckysimple
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了What is a Digital Signature?相关的知识,希望对你有一定的参考价值。
Bob有公钥和私钥。
Bob的公钥是公开的,任何人都可以得到。但是只有Bob有自己的私钥。公钥和私钥都可以分别用来加密信息,相应地可以用另一把钥匙解密加密后的信息。
例如,上图中Susan用Bob的公钥加密信息后,发给Bob。Bob收到信息后用自己的私钥解密,得到了Susan的信息。其他人即使获取到了信息,由于没有Bob的私钥,也不能知道信息的内容。
另外一种情况,如果Bob给Susan回信,可以用私钥生成数字签名,放在信息的最后。目的是为了在信息被修改时,识别出来。
在做数据签名时,Bob用hash计算信息,生成一个信息摘要。hash计算是不可逆的,即不能通过信息摘要获取原来的信息。
Bob然后用私钥加密信息摘要,生成的就是数字签名。
最后Bob把数字签名放在信息的结尾。将信息和签名都发送给Susan。
Susan接收到信息和签名后,用公钥将数字签名解密得到信息摘要。再用hash计算信息得到另一个信息摘要。如果这两个摘要相同,就证明信息没有被修改过。
复杂的情况出现了
Doug想欺骗Susan,用自己的公钥替换了Bob的公钥,这样Doug就可以冒充Bob来和Susan交流了。
如何来确保Bob的公钥不能被伪装呢?数字证书出现了。
Bob找到公认的数字证书认证机构,为自己的公钥做认证。认证机构用自己的私钥,将Bob的公钥、Bob的信息和证书信息一起加密,生成了数字证书。
Bob拿到数字证书后,就可以将以前的数字签名换成数字证书了。
Susan接收到Bob的信息后,用数字证书认证机构的公钥来解密数字证书,就可以得到Bob真正的公钥。
Reference
以上是关于What is a Digital Signature?的主要内容,如果未能解决你的问题,请参考以下文章