常用 #### 简介:: 由单向散列函数和公钥密码组成 把公钥密码反过来用实现 * 私钥加密生成签名 * 公钥解密验证签名 应用实例:: 安全信息公告 * 明文签名(clearsign) 软件下载 公钥证书 SSL/TLS 签名算法:: 公钥算法: RSA EIGamal Rabin 方式 DSA(Digital Signature Algorithm) Schnorr算法和 EIGamal方式的变体 只能用于数字签名 ECDSA(Elliptic Curve Digital Signature Algorithm) 1999 年成为 ANSI 标准 2000 年成为 IEEE 和 NIST 标准 DSA 算法的一个变体 ECC 与 DSA 的结合 ECDSA 签名算法的输入 是 数据的哈希值,而不是数据的本身 攻击:: 中间人攻击(man-in-the-middle attack) 对单向散列函数攻击 利用数字签名攻击公钥密码 潜在伪造 定义: 没有私钥的前提下,可对无意义的消息生成合法签名,这是对签名算法的潜在威胁 RSA-PSS(Probabilistic Signature Scheme) 原理: 对消息的散列值签名 其他攻击 暴力破解 无法解决的问题:: 前提: 验证签名的公钥必须是属于真正的发送者 方法: 让公钥和签名技术成为一种社会性基础设施 即: 公钥基础设施(Public Key Infrastructure, PKI) .. image:: https://img.zhaoweiguo.com/knowledge/images/encrypts/digital_signature1.png