当前位置: 首页 > news >正文

考研复习 Day 48 | 密码学--第八章 数字签名与身份认证(上)

注:以下内容参考《新编密码学》范九伦 张雪锋 侯红霞 编著


第8章 数字签名与身份认证

8.1 数字签名原理

8.1.1 数字签名的基本概念

消息认证码无法防止通信双方之间的互相抵赖和欺骗。例如,Alice发送消息并附上消息认证码后,可以否认发送过该消息(因为Bob也能生成同样的消息认证码);Bob也可以伪造消息声称来自Alice。因此,需要数字签名技术来提供数据来源的真实性、数据内容的完整性、签名者的不可否认性以及匿名性等服务。

数字签名是以公钥密码理论为支撑的技术,它将算法作用于需要签名的消息,生成带有操作者身份信息的编码。签名者执行数字签名,验证者验证签名真伪。

数字签名与手书签名的差异

  • 手书签名与被签文件物理上不可分离;数字签名与消息是可分离的比特串

  • 手书签名通过物理比对验证;数字签名通过严格算法验证

  • 手书签名复制品易与原件区分;数字签名拷贝与原串完全相同

数字签名至少满足三个基本要求

  1. 签名者任何时候无法否认自己签发的签名(不可否认性

  2. 接收方能验证签名,但任何人无法伪造他人签名(真实性不可伪造性

  3. 发生争议时,仲裁机构可进行裁决

数字签名体制是一个五元组(M,S,K,SIG,VER):

  • M:消息空间

  • S:签名空间

  • K:密钥空间(签名密钥sksk、验证密钥vkvk)

  • SIG:签名算法,SIGsk(m)=s

  • VER:验证算法,VERvk(m,s)={ true,s=SIGsk(m) false,s≠SIGsk(m) }

8.1.2 数字签名的特性

功能特性

  1. 完整性:签名依赖于消息的具体比特模式

  2. 真实性:能够验证签名者身份

  3. 不可伪造性:伪造签名在计算上不可行

  4. 可用性:生成、验证过程简单,可在普通设备上快速完成

安全性特性

  1. 单向性:从消息和签名推导签名密钥不可行

  2. 不可抵赖性:不同消息的签名相等概率可忽略

  3. 无相关性:从一个消息的签名不能推导出另一个消息的签名

8.1.3 数字签名的实现方法

基于公钥密码的数字签名:发送方用自己的私钥加密消息(或消息摘要),接收方用发送方公钥解密验证。由于只有发送方拥有私钥,因此能证明消息来源。

直接数字签名体制:仅涉及通信双方,依赖于签名者私钥的安全性。弱点:私钥泄露后,泄露前的签名仍可被伪造;签名者可声称私钥泄露而否认签名。

可仲裁的数字签名体制:引入可信第三方作为仲裁者,发送方将签名发送给仲裁者验证后,再转给接收方。解决了否认问题,但增加了复杂性,仲裁者可能成为性能瓶颈。

实际应用中的优化:先对原始消息进行Hash处理,再对Hash码签名,提高效率(图8-3)。


8.2 RSA数字签名

8.2.1 RSA数字签名算法

系统参数与RSA公钥密码相同:选取大素数p,q,计算n=p×q,φ(n)=(p−1)(q−1),选取e满足gcd⁡(e,φ(n))=1,计算d=e^(−1) mod φ(n)。公开(n,e)作为验证密钥,秘密保存(p,q,d)作为签名密钥。

  • 签名:s=SIGsk(m)=m^d mod n

  • 验证:VERvk(m,s)=true ⟺ m≡s^e mod n

8.2.2 RSA数字签名的安全问题

RSA签名继承了RSA算法的可乘性缺陷,面临以下攻击:

  1. 消息破译:攻击者可通过选择签名请求恢复明文

  2. 截取仲裁签名:攻击者可修改消息,骗取仲裁签名后恢复目标消息签名

  3. 篡改用户签名:若获得两个消息的签名,可伪造它们乘积的签名

防范措施:不能对陌生人提交的消息直接签名,应先进行Hash处理。

另一种伪造攻击:攻击者选任意y,计算x=y^e mod n,则y是合法用户对x的有效签名(因为x^d=y)。因此,应避免对无意义的随机消息签名。


8.3 ElGamal数字签名

ElGamal签名体制基于离散对数问题,是专门为数字签名设计的,已被NIST采纳为数字签名标准(DSS)的基础。

8.3.1 ElGamal数字签名算法

系统参数

  • 大素数p,使Zp∗​上离散对数难解

  • Zp∗​的生成元g

  • 签名者私钥a,公钥y=g^a mod p

  • 密钥K=(p,g,a,y),公钥(p,g,y),私钥a

签名:对消息m∈Zp​,随机选取k∈Zp∗​且gcd⁡(k,φ(p))=1,计算

r=g^k mod p

s=(m−ar)⋅k^(−1) mod φ(p)

签名为(r,s),签名空间为Zp×Zp​。

验证

VER(m,r,s)=true ⟺ y^r⋅r^s≡g^m (mod p)

正确性:若签名正确,则

y^r⋅r^s=g^ar⋅g^ks=g^[ar+ks)=g^(ar+k⋅(m−ar)k^(−1)]=g^m

8.3.2 针对ElGamal签名算法的可能攻击

安全性基础:依赖于离散对数问题的困难性。

使用不当造成的威胁

  1. 若随机数k泄露,攻击者可计算私钥a=(m−ks)r^(−1) mod φ(p)

  2. 若重复使用k对不同消息签名,可由两个签名计算出k,进而得到a

伪造签名攻击

  1. 存在性伪造:选择i,j,构造r=g^i·y^j,计算s=r^(j−i),m=r^i·r^(j−i),得到有效签名

  2. 已知消息伪造:从已知签名出发,通过变换伪造新消息签名

  3. 选择性伪造:利用φ(p)的大素因子q构造签名

  4. 大r伪造:当r>p时,可伪造任意消息的签名

防范措施

  • 签名前对消息进行Hash处理

  • 验证时检查r不能被φ(p)的大素因子整除

  • 验证时检查r<p


注:以上内容的理解和计算,如果有任何错误,希望各位读者和大佬指出改正,非常感谢!!!

http://www.zskr.cn/news/1489088.html

相关文章:

  • Kinetis MCU Flashloader配置与实战:从源码编译到固件更新全解析
  • nltknltk:自然语言处理的经典工具包
  • 遗憾藏于暗恋,温柔了整个青春
  • 轻量化AI赋能:重塑日常英语学习的高效路径
  • 2026年轻触开关厂家推荐榜单:带灯/贴片/防水/按键/硅胶/四脚轻触开关优质品牌精选推荐! - 品牌发掘
  • PLC四层电梯设计(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)
  • 避坑指南:处理Apple Pay订阅续期和状态码21006的那些事儿
  • 青少年工程官网导航揭秘:专业音频唱片录制系统 APC–2 亮相!
  • 2026年厦门垃圾车/环卫垃圾车厂家推荐榜:压缩式、餐厨、自装卸等市政物业保洁垃圾车品质实力解析 - 品牌发掘
  • 保姆级教程:用YOLOv8和OpenCV PnP复现Yolo-6D的核心思想(附Python代码)
  • 家庭投资组合方案(2026/6/7版)
  • 2026年二甲基二甲氧基硅烷/片碱/硝酸铈/氯化镧等化学原料厂家推荐榜单:热门化工品优选与行业口碑之选 - 品牌发掘
  • 用过才敢说!2026年最值得信赖的专业AI论文写作工具
  • 浙江AI搜索优化服务商2026深度评测:五大源头厂商横评与选型指南 - 品牌报告
  • 如何在Windows上搭建专业C/C++开发环境:MinGW-w64完全指南
  • Token
  • 基于Python的中国医学数据的分析与应用
  • TDengine 查询引擎概览 — SQL 从客户端到结果集的全景流转
  • 从单目视觉到VIO:重投影误差如何成为多传感器融合的‘粘合剂’?
  • 深度评测 | 北京陪诊公司服务横评:8大品牌真实体验对比(2026年6月最新) - 北京陪诊公司
  • 2026 太原防水补漏服务商口碑测评榜单|全屋渗漏维修机构优选指南 - 宅安选房屋修缮
  • 上海防水补漏哪家靠谱?2026正规修缮公司排名实测 - 苏易修缮
  • Kotlin 协程设计思想(八):suspend 到底是什么?为什么 suspend 不是开启协程?
  • Vivado异步FIFO IP核仿真全流程:从Testbench编写到关键信号(wr_rst_busy)行为解析
  • 基于S08PB16的BLDC电机速度测量与FreeMASTER调试实战
  • Claude Code 的工具延迟加载机制
  • 三阳路空调维修|三阳路空调移机|三阳路空调加氟|三阳路空调回收 高性价比宅到家快速上门 - 武汉宅到家
  • 任何商业行为都要 问这几个问题 ,凭什么轮到你
  • 天赐范式第67天:三分子悬赏令·最终版声明——如果天赐范式没有与之相对应的工程,那我筛选出来的悬赏分子又算什么呢?
  • GEO优化公司避坑指南:2026五强靠谱服务商最新全解析 - GEO优化