【密码学】六、数字签名

1. 概念
1.1 数字签名

数字签名必须保障:

  1. 接收者能够核实发送者对文档的签名
  2. 发送者时候不能否认对文档的签名
  3. 不能伪造对文档的的签名
1.2 数字签名方案

一个数字签名方案包括如下 3 个算法:

  • 密钥生成:产生用户的公私钥
  • 签名算法:产生消息的签名
  • 验证算法:验收消息的签名是否是合法

数字签名方案为了实现安全认证,需要满足如下条件:

  • 必须相对容易生成该数字签名
  • 必须相对容易识别和验证该数字签名
  • 伪造该数字签名在计算上不可行,既包括对一个已有的数字签名构造新的消息,也包括对一个消息伪造一个数字签名
1.3 RSA 签名和验证方法

签名方法:

  • 签名 = 消息^私钥 mod n

理解:自己用自己的私钥对消息进行签名,别人就可以用可获得的公钥进行验证,和加密解密不一样
在这里插入图片描述
验证方法:

  • 消息 = 签名^公钥 mod n
    在这里插入图片描述
1.4 RSA 签名算法缺点和解决方法(简答题)
  • 对任意 y ∈ Z_n,任何人可计算 x ≡ y^e mod n,因此任何人可伪造对随机消息 x 的签名。

  • 如果消息 x1 和 x2 的签名分别为 y1 和 y2,则知道 x1, y1, x2, y2 的人可伪造消息 x1 x2 的签名 y1 y2。

  • 在 RSA 签名方案中,需签名的消息 x ∈ Zn,所以每次只能对 log2n 位长的消息进行签名。签名速度慢。

  • 解决方法:引入hash函数

1.5 ElGamal 签名算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.6 DSA(DSS) 签名算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值