数字签名的生成和验证

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/82831781

在数字签名技术中,出现了下面两种行为。

  • 生成消息签名的行为

  • 验证消息签名的行为

生成消息签名这一行为是由消息发送者Alice来完成的,也称为“对消息签名”。生成签名就是根据消息内容计算数字签名的值,这个行为意味着“我认可该消息的内容”。

验证数字签名这一行为一般是由消息的接收者Bob来完成的,但也可以由需要验证消息的第三方来完成,这里的第三方被命名为验证者Victor。验证签名就是检查该消息的签名是否真的属于Alice,验证的结果可以是成功或失败,成功就意味着这个签名是属于Alice的,失败则意味着这个签名不属于Alice的。

在数字签名中,生成签名和验证签名这两个行为需要使用各自专用的密钥来完成。

Alice使用“签名密钥”来生成消息的签名,而Bob和Victor则使用“验证签名”来验证消息的签名。

数字签名对签名密钥和验证密钥进行了区分,使用验证密钥是无法生成签名的。此外,签名密钥只能由签名人持有,而验证密钥则是任何需要验证签名的人都可以持有。

在公钥密码中,密钥分为加密密钥和解密密钥,用加密密钥无法进行解密。此外,解密密钥只能由需要解密的人持有,而加密密钥则是任何需要加密的人都可以持有。从这一点来看,数字签名和公钥密码很像。

实际上,数字签名和公钥密码有着非常紧密的联系,简而言之,数字签名就是通过公钥密码“反过来用”而实现的。

下面来将密钥的使用方式总结成一张表。

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/82831781
今日推荐