ScholarGate
助手

数字签名

数字签名使用私钥生成一个值,任何持有相应公钥的人都可以验证该值,从而为消息提供真实性、完整性和不可否认性。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

数字签名方案是一种公钥原语,由生成密钥对、使用私钥签署消息和使用公钥验证签名的算法组成,只有私钥持有者才能生成可验证的签名。

Scope

本主题涵盖数字签名方案——RSA-PSS、DSA、ECDSA和EdDSA——在自适应选择消息攻击下的存在性不可伪造性安全目标、先哈希后签名范式,以及签名在证书和软件分发中的作用。它讨论了与消息认证码(公共可验证性和不可否认性)的区别。它不包括共享相同底层假设的公钥加密和密钥交换方案,以及分发验证密钥的证书基础设施。

Core questions

  • 私钥如何使其持有者能够生成可验证、不可伪造的签名?
  • 自适应选择消息攻击下的存在性不可伪造性保证了什么?
  • 为什么消息在签名之前要进行哈希处理,而不是直接签名?
  • 签名如何提供对称MAC无法提供的不可否认性?
  • 签名如何用于锚定证书和软件更新中的信任?

Key concepts

  • 密钥对(签名密钥和验证密钥)
  • 存在性不可伪造性
  • 自适应选择消息攻击
  • 先哈希后签名
  • RSA-PSS
  • DSA和ECDSA
  • EdDSA
  • 不可否认性
  • 证书签名

Key theories

选择消息攻击下的存在性不可伪造性
签名的黄金标准安全定义:即使攻击者获得了其选择的许多消息的签名,也无法伪造任何新消息的有效签名;GMR方案首次可证明地实现了这一点。
先哈希后签名和不可否认性
实际方案签署消息的加密哈希值,从而能够签署任意长度的数据并将签名绑定到内容;因为只有私钥持有者才能签名,所以签名提供了共享密钥MAC无法提供的不可否认性。

Mechanisms

签名时,持有者对消息的哈希值应用私钥操作:RSA-PSS使用私有指数对填充后的哈希值进行指数运算,而(EC)DSA和EdDSA将哈希值与每消息随机数和私有标量结合以生成两个值。验证时重新计算哈希值并应用公钥操作,仅当关系成立时才接受。安全性取决于底层的困难假设和哈希函数的抗碰撞性。

Clinical relevance

数字签名是互联网的信任锚点:证书颁发机构签署TLS证书,操作系统供应商签署软件更新和驱动程序,应用商店签署应用程序,文档平台提供法律认可的电子签名。加密货币通过签名授权每笔交易,代码签名防止篡改的软件被信任。

Evidence & guidelines

签名方案已在FIPS 186(DSA、ECDSA)、RFC 8032(EdDSA)和PKCS #1 / RFC 8017(RSA-PSS)中标准化。法律框架(欧盟eIDAS法规、美国ESIGN法案)赋予合格数字签名法律效力。最佳实践倾向于确定性或对冲随机数(如EdDSA和RFC 6979),以避免ECDSA中随机数重用导致的灾难性密钥泄露。

History

数字签名概念由Diffie和Hellman(1976)与公钥密码学一同引入,并由RSA(1978)首次实现。Goldwasser、Micali和Rivest于1988年提出了第一个在自适应选择消息攻击下可证明安全的方案,确立了现代安全定义。DSA在20世纪90年代标准化,随后椭圆曲线ECDSA以及后来的抗误用EdDSA成为主流。

Key figures

  • Shafi Goldwasser
  • Silvio Micali
  • Ronald Rivest
  • Whitfield Diffie
  • Martin Hellman

Related topics

Seminal works

  • goldwasser1988
  • rivest1978
  • katz2020

Frequently asked questions

数字签名与扫描的手写签名有何不同?
扫描图像只是一张图片,可以复制到任何文档上。加密数字签名是根据消息内容和私钥计算的,因此它对签名者和该确切文档都是唯一的,并且任何对内容的更改都会使其失效。
为什么签名提供不可否认性而MAC不提供?
MAC使用共享密钥,因此任何一方都可以生成有效的标签——任何一方都无法证明是另一方生成的。数字签名只能使用私钥创建,而验证者不拥有私钥,因此签名者无法可信地否认曾签署过。

Methods for this concept

Related concepts