我了解到,数字签名使用私钥加密,并使用公钥解密。
验证者如何获得验证签名的公开信息?如果一个人必须请求一个,并得到一个,这是否意味着所有验证者的公钥都是相同的?
发布于 2018-12-29 15:25:31
数字签名不是使用私钥加密,而是因为私钥加密在术语上是矛盾的;任何拥有公钥的人都可以解密。它通常被解释为私钥加密,因为RSA签名方案在加密和生成签名时都使用了模幂运算。然而,即使是当前的RSA标准(PKCS#1 v2.2)也试图解释签名生成不是加密,而是使用不同的名称来表示用于加密和签名生成的模幂运算。其他签名方案--如ECDSA --与直接加密没有多少共同之处。
通常,公钥是通过公钥基础设施PKI (公钥基础设施)来分发和验证的。除了被分发之外,公钥被信任也是很重要的。如果公钥不能被信任,验证者可以接受由错误的私钥生成的签名。对于大多数签名方案,公钥对于所有验证者都是相同的。但是,有些方案只使用公钥一次进行验证。然而,由于创建一个工作良好的PKI相当困难,因此这些方案相对较少。PKI通常是使用证书构建的,最著名的PKI (带有X.509证书的PKIX)用于浏览器中受信任的网站。
对于较小的系统,您可能不需要复杂的PKI:例如,您可以在公钥上计算指纹,让验证者打电话给您,以确保证书上的指纹对于您通过电子邮件发送的密钥是正确的。
https://crypto.stackexchange.com/questions/66148
复制相似问题