密码学
数字签名
别称: 密码学签名, 公钥签名
定义
一种公钥密码学机制,用于证明消息或文档的真实性、完整性以及不可否认性。
数字签名的生成过程是:先对消息求哈希,再用签名者的私钥对哈希值进行加密;任何持有对应公钥的人都可以验证签名,从而获得身份认证、完整性与不可否认性。常见算法包括 RSA-PSS、RSA-PKCS#1 v1.5、ECDSA(基于 P-256/P-384)、EdDSA(Ed25519、Ed448),以及 NIST 标准化的后量子签名 ML-DSA(CRYSTALS-Dilithium)。数字签名是 TLS 证书、代码签名、软件更新、区块链交易以及 S/MIME、DKIM 等邮件标准的基础。其安全性依赖于因子分解或离散对数难题以及抗碰撞的哈希函数;量子计算机将破解经典方案,因此目前业界正逐步迁移到 ML-DSA 与 SLH-DSA。
示例
- TLS 服务器证书使用 ECDSA 或 RSA 签名进行签发与验证。
- Apple 公证服务对 macOS 二进制文件进行签名,以确保用户拿到的是来自已知开发者的程序。
相关术语
公钥密码学
使用成对的公钥与私钥实现加密、密钥交换、数字签名和身份认证的密码学分支,无需事先共享秘密。
RSA 算法
由 Rivest、Shamir 与 Adleman 于 1977 年提出的公钥算法,其安全性基于对两个大素数乘积进行因数分解的困难性。
ECDSA
DSA 在椭圆曲线上的变体,由 FIPS 186 标准化,生成紧凑签名,其安全性依赖于椭圆曲线离散对数问题。
密码学哈希函数
将任意长度输入映射为固定长度摘要的确定性单向函数,具备抗碰撞、抗原像和抗第二原像三大安全性质。
后量子密码学
面向经典计算机与大规模量子计算机均能保持安全的经典密码算法体系。
公钥基础设施(PKI)
由政策、软件、硬件和可信机构组成的体系,负责签发、分发、验证和吊销数字证书,将身份与公钥绑定。