数字签名
**数字签名**是一个可用于验证文档或消息作者的对象。
数字签名通常基于公钥加密,其中密钥被创建为一对密钥,其属性是,如果某些输入使用一个密钥加密,则只能使用另一个密钥解密,反之亦然。
密钥对的创建者将其中一个密钥公开,并将另一个密钥保密。为了签署文档,密钥对的所有者创建文档的哈希值,并使用私钥对其进行加密。
文档和签名被发送到验证者,验证者对文档进行哈希处理,检索公钥,并解密签名:如果此哈希值与签名匹配,则签名已得到验证,并且验证者可以确信它是由拥有访问私钥的实体创建的。
数字签名系统的安全性取决于(除其他事项外)
- 私钥所有者对其进行安全保管:如果其他实体可以访问私钥,则它们可以冒充所有者。
- 验证者使用的公钥是所有者私钥的真实对应物:如果攻击者可以欺骗验证者信任错误的公钥,则他们可以冒充所有者。
验证者通常使用数字证书来检查公钥是否真实。