RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密

 我来答
就烦条0o
2016-05-13 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部

其实公钥和私钥都可以用来加密或解密---只要能保证用A加密,就用B解密就行。至于A是公钥还是私钥,其实可以根据不同的用途而定。

例如说,如果你想把某个消息秘密的发给某人,那你就可以用他的公钥加密。因为只有他知道他的私钥,所以这消息也就只有他本人能解开,于是你就达到了你的目的。

但是如果你想发布一个公告,需要一个手段来证明这确实是你本人发的,而不是其他人冒名顶替的。那你可以在你的公告开头或者结尾附上一段用你的私钥加密的内容(例如说就是你公告正文的一段话),那所有其他人都可以用你的公钥来解密,看看解出来的内容是不是相符的。如果是的话,那就说明这公告确实是你发的---因为只有你的公钥才能解开你的私钥加密的内容,而其他人是拿不到你的私钥的。

最后再说一下数字签名。
数字签名无非就两个目的:
证明这消息是你发的;
证明这消息内容确实是完整的---也就是没有经过任何形式的篡改(包括替换、缺少、新增)。

其实,上面关于“公告”那段内容,已经证明了第一点:证明这消息是你发的。
那么要做到第二点,也很简单,就是把你公告的原文做一次哈希(md5或者sha1都行),然后用你的私钥加密这段哈希作为签名,并一起公布出去。当别人收到你的公告时,他可以用你的公钥解密你的签名,如果解密成功,并且解密出来的哈希值确实和你的公告原文一致,那么他就证明了两点:这消息确实是你发的,而且内容是完整的。

其实概念很简单:

  1. 小明想秘密给小英发送消息

  2. 小英手里有一个盒子(public key),这个盒子只有小英手里的钥匙(private key)才打得开

  3. 小英把盒子送给小明(分发公钥)

  4. 小明写好消息放进盒子里,锁上盒子(公钥加密)

  5. 小明把盒子寄给小英(密文传输)

  6. 小英用手里的钥匙打开盒子,得到小明的消息(私钥解密)

  7. 假设小刚劫持了盒子,因为没有小英的钥匙,他也打不开

百事牛
2024-10-28 广告
对于加密的Word文件,解除加密的方法主要有两种:1. 如果知道密码,可以通过“文件”-“信息”-“保护文档”-“用密码进行加密”的路径,将密码删除,即可解除加密。2. 若忘记密码,可尝试使用专门的解密工具,如奥凯丰WORD解密大师,通过导... 点击进入详情页
本回答由百事牛提供
名岐居士
2018-08-03 · 一个懂互联网的小道士
名岐居士
采纳数:331 获赞数:834

向TA提问 私信TA
展开全部
RSA公钥加密体制包含如下3个算法:KeyGen(密钥生成算法),Encrypt(加密算法)以及Decrypt(解密算法)
涉及内容较专业,我就不详细解释KeyGen,Encrypt,Decrypt的算法描述了
简单来说:公钥用于对数据进行加密,私钥用于对数据进行解密。
私钥用于对数据进行签名,公钥用于对签名进行验证
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式