“Diffie–Hellman 是 公钥密码 体系的重要密钥协商原语,也是 TLS、SSH、Signal 等协议的基础构件,安全证明常使用 计算安全 假设。与 数字签名 或预共享认证结合可阻止…”
形式陈述 ​
数字签名方案由
直觉
数字签名让持有私钥者给消息附上只有持钥者能生成、而任何人都可用公钥验证的短密码学证据。目标是提供来源真实性与完整性,防止伪造和篡改,而不是提供机密性;消息通常公开,签名也可公开复制。安全定义不只防伪造某个固定消息,而要允许攻击者先自适应获取许多已签消息,再要求其不能产出新的有效消息—签名对。
例子与边界
数字签名让持有公钥的任何人验证来源与完整性,并不能隐藏消息;加密方案以机密性为主,解密能力通常只属于密钥持有者。实践中的 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。