什么是数字签名?

关注微信号夫子程序社,更多精彩

Bob有两把钥匙,一把是公钥,另一把是私钥。


Pat,Doug和Susan是Bob的同事。如果需要,每个人都可以得到Bob的公钥,但私钥只有Bob自己拥有。钥匙用来加密或解密信息。加密信息就是把信息“弄乱”,只有拥有合适钥匙的人才能通过解密使其变得可读。Bob的任何一把钥匙都可以加密信息,另一把解密信息。


Susan可以使用Bob的公钥加密消息。Bob用自己的私钥解密消息。即使有人能拿到Susan加密后的消息,但若没有Bod的私钥,该消息毫无用处。


通过私钥和相应的软件,Bob就可以给文档或其它数据加上数字签名。数字签名是Bob加在数据上的独一无二的“邮戳”,很难被伪造。另外,签名保证了数据被篡改后能被监测到。


为了签署文件,Bob的软件将通过一个名为“哈希”的过程将数据散列成几行。这几行被称为消息摘要(Message Digest)。(消息摘要不可能被还原回原始数据。)

Bob的软件然后用他的私钥加密消息摘要。加密结果就是数字签名。


最后,Bob的软件将数字签名附加到文档中。

Bob现在将文件传递给Pat。首先,Pat的软件将签名(使用Bob的公钥)解密为一个消息摘要。如果成功,那么证明是Bob签署的文档,因为只有Bob有他的私钥。Pat的软件将文档数据散列成消息摘要。如果该消息摘要与解密出来的消息摘要相同,那么Pat就能确认签名数据没有被改变。


情节变复杂了……

Doug(我们心怀不满的员工)想欺骗Pat。在Pat不知道的情况下,Doug发给Pat一个以Bob的名字创建的公钥。若非当面从Bob接收公钥,Pat如何知道公钥的真假?

Susan正好在公司的证书中心工作。Susan可以简单地通过签署Bob的公钥以及Bob的一些信息来为Bob创建一个数字证书。


现在Bob的同事可以检查Bob的可信证书,确保他的公钥真正属于他。事实上,Bob公司没有人接受没有Susan生成的证书的签名。如果私钥被泄露或不再需要,苏珊可以撤销签名。甚至有更广泛认可的认证机构认证苏珊。

 

假设Bob将签名文件发送给Pat。要验证文档上的签名,Pat的软件首先使用Susan(证书颁发机构)的公钥来检查Bob的证书上的签名。证书的成功解密证明Susan创建了它。在证书解密之后,Pat的软件可以检查Bob是否与证书颁发机构保持一致,以及所有关于Bob身份的证书信息是否被更改。

 

Pat的软件从证书中取出Bob的公钥,并用它来检查Bob的签名。如果Bob的公钥成功解密了签名,那么Pat确信签名是使用Bob的私钥创建的,因为Susan已经证实了匹配的公钥。当然,如果签名是有效的,那么我们知道Doug并没有试图改变签名的内容。


虽然这些步骤可能听起来很复杂,但都是由Pat的软件在幕后处理的。要验证一个签名,帕特只需要点击它。


—————END—————


关注夫子程序社,更多精彩

原文:http://www.youdzone.com/signature.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值