android端与服务器端RSA双向加密问题?

记住:用对方的公钥加密是为了保密,这个只有对方用私钥能解用自己的私钥加密是为了防抵赖,能用我的公钥解开,说明这是我发来的,不是第三者发来的,仅此而已所以土豪做法是,先用自己的私钥加密,再套一层对方的公钥加密单一用自己的私钥加密,其实不算加密不过RSA算法太慢了,所以非对称一般只用于加密、交换对称密钥,通信时就直接用3DES等对称算法加密传递
■网友
客户端当然不用公钥加密。除了握手阶段,其他都是对称加密的。当然你也可以土豪的使用两对公私钥来做加密通信。
■网友
RSA不直接对报文加密,只用于数字信封的加密(以及身份认证的签名验签,不展开)。简单说1、客户端产生一段随机数作为AES等对称算法使用的密钥(最终用于加密报文);2、客户端用服务端的RSA公钥把自己生成的对称密钥加密做成数字信封,发给服务端;3、服务端用自己私钥解开数字信封,取出客户端生成的对称密钥,用其与客户端通讯加密。攻击者截获数字信封,但是没有服务端的私钥解不开。
■网友
1、分成两部分,使用对称密钥加密的密文(A)和使用公钥加密的对称密钥(B)一起发送给服务端;2、服务端使用私钥解密B得到对称密钥;3、使用对称密钥来解密密文A,从而得到内容。


    推荐阅读