数字签名是不是只能保证数据不被篡改?而不能保证数据不被得知?

发布于 2022-09-11 21:28:08 字数 302 浏览 43 评论 0

假设A给B发一个包含账号和密码的文件(进行数字签名:Hash > 摘要 > 私钥加密),
A先给B一个公钥(给的过程中暴露,被别人知道了),
B收到文件用公钥解密,然后计算Hash比较,一样,文件没被修改。(这样可以保证不被篡改,当然如果公钥被替换,还是可以达到‘替换’数据的效果的,这就用到数字证书了。),

问题是如果这个文件也暴露了,而别人也有公钥,那岂不是别人可以知道账号和密码了?

还是说针对账号和密码这种情况需要用公钥传输,私钥解密那种方式?
上面的这种只能针对比如说转账金额这种保证不被篡改而不怕被得知这种情况?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

呆橘 2022-09-18 21:28:08

签名不是加密,加密的目的才是让数据不被人得知。签名的目的是保证数据不被篡改。被签名的文件通常是明文方式传输。

如果你想实现既不能篡改,也不被其他人得知,可以同时使用签名和加密,加密可以用数字信封之类的技术,对方用你的公钥加密一个高强度的对称加密算法的密钥给你,你用私钥解密这个密钥,然后再用这个密钥解密被签名文件,然后用对方公钥验证是否被篡改。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文