Skip to content

数字签名

Digital signature

由私钥签名、公开验证并提供不可伪造性的认证机制。

条目类型
模型

形式陈述

数字签名方案由 (Gen,Sign,Verify) 组成:密钥生成输出 (vk,sk),签名者计算 σSignsk(m),任何人用验证密钥判断 Verifyvk(m,σ){0,1}。正确性要求合法签名被接受。标准 EUF-CMA 安全要求:即使攻击者可自适应请求所选消息的签名,也不能为一条从未查询过的消息产生可验证签名;这里的计算安全量化所有 PPT 攻击者,并要求其成功概率可忽略。

直觉

数字签名让持有私钥者给消息附上只有持钥者能生成、而任何人都可用公钥验证的短密码学证据。目标是提供来源真实性与完整性,防止伪造和篡改,而不是提供机密性;消息通常公开,签名也可公开复制。安全定义不只防伪造某个固定消息,而要允许攻击者先自适应获取许多已签消息,再要求其不能产出新的有效消息—签名对。

秘密签名与公开验证
例子与边界

数字签名让持有公钥的任何人验证来源与完整性,并不能隐藏消息;加密方案以机密性为主,解密能力通常只属于密钥持有者。实践中的 sign-then-encrypt 或 authenticated encryption 是组合协议,不应把两个原语的安全目标合并成一个。

直接对长消息签名常先使用抗碰撞哈希,但“随便哈希后签”必须与具体安全变换和域分离匹配。RSA-PSS、全域哈希 RSA 等构造以RSA 函数与反演假设为代数基础,其中一些证明还使用随机预言机模型;这不把 textbook RSA 或任意现实哈希自动变成 EUF-CMA 安全签名。签名通常是概率化或带确定性 nonce;nonce 重用可能泄露私钥。普通 EUF-CMA 不必阻止为同一已签消息产生另一份不同签名,强不可伪造才加入这一要求。验证成功不自动证明现实身份,验证密钥的绑定仍需基础设施。

hash-then-sign 先对带域分离和上下文的消息求摘要,再签摘要,避免直接处理任意长输入。ECDSA/DSA 中若两个签名复用同一 nonce,可由代数关系恢复私钥;确定性 nonce 生成或可靠随机源因此是核心实现要求。

公钥本身不说明属于谁,证书或信任链负责身份绑定。签名可被从一个协议上下文复制到另一个上下文,若消息未包含协议名、版本和角色,数学验证仍可能通过;这属于缺少域分离。

推论与应用

数字签名用于软件发布与更新、证书、交易授权、审计或透明日志和共识消息认证。签名不可伪造性 给出正式目标,密码哈希 常压缩消息。签名与加密正交:它提供来源完整性,保密性需另行使用加密;公钥加密 与签名方向相反、目标也不同。

参考资料
  • Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography, version 0.6, 2023,Chs. 13–14, digital signatures and chosen-message attacks。
  • Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 3rd ed., CRC Press, 2020,Chs. 12–13, signatures and unforgeability。
关系图谱9 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系

并列辨析