美文网首页密码学专题
9. 密码学专题 - 数字签名

9. 密码学专题 - 数字签名

作者: furnace | 来源:发表于2020-05-10 11:07 被阅读0次

密码学专题 - 数字签名

9. 数字签名

数字签名是消息认证码的公钥等价形式,其一般框架如图 2-6 所示。这次 Alice 使用密钥生成算法来产生一个密钥对 (S_{Alice}, P_{Alice}) 并公开公钥 P_{Alice},当她要发送一个带签名的消息 m 给 Bob 时,先计算签名 s = sigature(S_{Alice}, m),然后将 ms 发送给 Bob。Bob 利用 Alice 的公钥通过验证算法 validate(P_{Alice}, m, s) 来验证签名。签名的工作机制类似于 MAC,不同的是 Bob 利用公钥进行验证,而产生一个新的签名却需要私钥。

Bob 只需要拥有 Alice 的公钥就可以验证消息是否来自于 Alice。非常有趣的是,任何人都能够得到 Alice 的公钥从而验证该消息是否来自 Alice,这也正是我们称 s 为数字签名的原因。在某种意义上,Alice 签署了该消息。如果发生了争执,Bob 可以把 ms 提交给法官来证明 Alice 确实签署了该消息。

这种性质在理论上非常好,但也只是在理论上有效。在实际应用中,需认识到数字签名还有一定的局限性。主要问题在于并不是 Alice 本人亲自计算签名,而是她的计算机计算签名,因此数字签名并不能证明 Alice 认可了该消息,甚至也不能证明她在计算机屏幕上看到了该消息。既然病毒能够轻易地控制计算机,那么在这种情况下数字签名实际上也不能证明什么。然而,如果使用适当,数字签名还是相当有用的。

9.1 DSA

1991 年 8 月,NIST 提出了数字签名算法 (DSA) 用于他们的数字签名标准 (DSS) 中。

项目源代码

项目源代码会逐步上传到 Github,地址为 https://github.com/windstamp

Contributor

  1. Windstamp, https://github.com/windstamp

相关文章

网友评论

    本文标题:9. 密码学专题 - 数字签名

    本文链接:https://www.haomeiwen.com/subject/dwuxqhtx.html