公钥密码里面,如果一方用自己的私钥加密,解密用自己的公钥,公钥不是公开的吗?任何人都可以解开
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了公钥密码里面,如果一方用自己的私钥加密,解密用自己的公钥,公钥不是公开的吗?任何人都可以解开相关的知识,希望对你有一定的参考价值。
公钥密码里面,如果一方用自己的私钥加密,解密用自己的公钥,公钥不是公开的吗?这样来说的话,任何人都可以解开,这次加密还有什么用呢?
信息传输有两条路径,一是信息加密,二是身份认证,你说的这种只是身法认证环节,任何人拥有了你的公钥,都能确认是“你”发出的(因为你使用自己的私钥加密的,这个环节叫电子签名)。而具体的密文的加密是使用你的公钥加密的,只有你的私钥可解密,其它人没有你的私钥,虽然收到了消息,也知道是你发出的(即前面说的身份认证过程畅通无阻),但是没法解密,因此无法知道具体信息内容。 参考技术A 同是加密,但是应用场景是不一样的。
公钥加密为了数据机密,只有对应的私钥可以解密获取。
私钥加密为了数据来源可靠、合法,谁来解开都一样,比如数字证书、签名等。 参考技术B 简单回答下就是
1、公钥加密私钥解密场景:
公钥加密密文发送后,私钥拥有者进行解密读取数据。(没问题吧)
2、私钥加密公钥解密场景:
私钥一般不作为加密数据进行使用,只是为了进行加密后,为了别人能直到这个数据是你进行处理的。(简单来说就是私钥不对数据做出改变,只进行自己的身份确认) 参考技术C 公钥和私钥通常有可以互相加解密的特性:
将原始信息用公钥加密后,可以使用私钥解密;
将原始信息用私钥加密后,通常可以使用公钥解密。
一般公钥是对所有人公开的,原始数据使用公钥加密后,只有拥有私钥的人才能解密。
也就是说只有公钥的情况下是无法解开加密的数据的。
而用私钥加密的场合一般是数字签名,此时作用不是加密原始数据,而是证明该数据确实来自私钥的拥有者,没有被伪造或是篡改。本回答被提问者和网友采纳
https之对称加密非对称加密
1、对称加密
服务端把密钥发给客户端(通过明文传输),服务端将要发送的数据用密钥加密, 到客户端之后,客户端用服务端发过来的密钥解密加密密文。
问题
如何安全地把密钥发送给客户端。
2、各自两把钥匙
客户端有自己的私钥和服务端的公钥两把钥匙,服务端也有自己的私钥和客户都安的公钥两把钥匙。发送数据就用对方的公钥加密,接收数据就用自己的私钥解密。
3、对称加密+非对称加密
1、客户端发送自己的公钥给服务端。2、服务端用客户端的公钥加密对称密钥,然后发送给客户端。3、客户端用自己的私钥 解密,得到对称密钥。然后双方都有了对称密钥,用密钥进行密文传输。
存在一个问题:对应的公钥采用明文传输,接收方能否确认自己收到的公钥一定是对方的。
假设一个场景:1、S端发送公钥给C端,黑客把公钥截获。2、黑客把自己的公钥传给C端,C端用黑客的公钥进行加密对称密钥,发送给S端。3、黑客再次截获C端用自己的公钥加密的密文,用自己的私钥解开,得到对称密钥。4、黑客用S端的公钥加密对称密钥,发送给S端。
最后,黑客,S/C端都有了对称密钥。
非对称加密之所以不安全是因为接收方不知道公钥是否是对方的。
数字证书
数字证书=(数字签名)+(服务器个人信息+服务器公钥)
数字签名 = (服务器个人信息+服务器公钥)-->Hash算法=信息摘要-->CA的私钥
CA的公钥和私钥
发送发的公钥和私钥
客户端拿到数字证书,得到CA的公钥,CA的公钥可信,因为在网上公开,可以和其他的对比。用CA的公钥解开数字签名,得到信息摘要。
客户端用对应的hash算法hash出服务端信息的信息摘要。
对比两个信息摘要,如果一致,证明发送方法的公钥真实性。
CA的公钥和私钥保证对比信息摘要的真实性。
常用的对称加密算法:DES(Data Encryption Standar),非对称加密算法RSA,签名哈希算法MD5(SHA256)等等。
以上是关于公钥密码里面,如果一方用自己的私钥加密,解密用自己的公钥,公钥不是公开的吗?任何人都可以解开的主要内容,如果未能解决你的问题,请参考以下文章