什么是数字签名?
发布日期:2022-02-17 04:52:26 浏览次数:13 分类:技术文章

本文共 1135 字,大约阅读时间需要 3 分钟。

什么是数字签名?

出自,by David Youd

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

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

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

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

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

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

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

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

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

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

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

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

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

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

转载地址:https://blog.csdn.net/qq_41429510/article/details/121311839 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Idea安装热部署插件JRebel详解
下一篇:djnago Excel数据上传进度条

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月06日 00时35分09秒