什么是数字签名?

什么是数字签名?

出自原文,by David Youd

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

鲍勃的公钥可供任何需要它的人使用,但他将私钥留给自己。密钥用于加密信息。加密信息意味着“将其置乱”,这样只有拥有适当密钥的人才能使其再次可读。鲍勃的两个密钥之一可以加密数据,另一个密钥可以解密该数据。

苏珊(如下所示)可以使用鲍勃的公钥加密消息。鲍勃使用他的私钥解密消息。鲍勃的任何同事都可以访问苏珊加密的消息,但如果没有鲍勃的私钥,这些数据将一文不值。

有了他的私钥和合适的软件,鲍勃可以在文档和其他数据上进行数字签名。数字签名是鲍勃在数据上加上的“戳”,是鲍勃独有的,很难伪造。此外,签名确保对已签名的数据所做的任何更改都不会被检测不到。

为了签署一份文件,鲍勃的软件将通过一个称为“哈希”(Hash函数)的过程将数据压缩成几行。这几行被称为消息摘要(Digest)。(无法将消息摘要更改回创建它的原始数据)

鲍勃的软件然后用他的私钥对消息摘要进行加密。结果就是数字签名(Signature)。

最后,鲍勃的软件将数字签名附加到文档中。散列的所有数据都已签名。

鲍勃现在把文件传给帕蒂:

首先,帕蒂的软件对签名进行解密(使用鲍勃的公钥),将其重新转换为消息摘要。如果这样做有效,那么证明鲍勃签署了文档,因为只有鲍勃拥有他的私钥。帕蒂的软件然后将文档数据散列成消息摘要。如果消息摘要与签名解密时创建的消息摘要相同,则帕蒂知道签名数据没有更改。

道格(我们不满的员工)想欺骗帕蒂。道格确保帕蒂收到一条签名消息和一个似乎属于鲍勃的公钥。帕蒂不知道,道格欺骗地发送了一对他用鲍勃的名字创建的钥匙。除了亲自收到鲍勃的公钥外,帕蒂如何确保鲍勃的公钥是真实的?

碰巧苏珊在公司的证书颁发中心工作。苏珊只需签署鲍勃的公钥以及有关鲍勃的一些信息,就可以为鲍勃创建数字证书。

现在,鲍勃的同事可以检查鲍勃的可信证书,以确保他的公钥确实属于他。事实上,鲍勃的公司没有人接受不存在苏珊生成的证书的签名。这使苏珊有权在私钥泄露或不再需要时撤销签名。还有更为广泛接受的认证机构认证苏珊。

假设鲍勃向帕蒂发送了一份签名文件。为了验证文档上的签名,帕蒂的软件首先使用苏珊(证书颁发机构)的公钥检查鲍勃证书上的签名。证书的成功反加密证明是苏珊创建的。证书解除加密后,帕蒂的软件可以检查鲍勃是否与证书颁发机构保持良好关系,以及所有关于鲍勃身份的证书信息是否未被更改。

帕蒂的软件然后从证书中获取鲍勃的公钥,并使用它检查鲍勃的签名。如果鲍勃的公钥成功地对签名进行了反加密,则帕蒂可以确信签名是使用鲍勃的私钥创建的,因为苏珊已经验证了匹配的公钥。当然,如果签名是有效的,那么我们知道道格没有试图更改签名的内容。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值