假设现在有用户A和B,如何保证他们两在网上交流时,数据不被窃听呢?
通过RSA算法加密传输的流程大概是这样
1. A先通过RSA算法生成一对密匙(k1,k2);
2. A用明文公布自己的公钥给B
3. B在收到A的公钥后,以后发送数据给A时,都通过k1进行加密
4. A在收到B的数据后,通过k2进行解密,传输完成
上面只说了B传输给A时的数据加密,那么,A传输给B时,数据如何加密呢?
原理相同,在A要传输数据给B时,先让B将密匙发给A,然后A对以后传输的数据,都通过B的公钥加密即可。
上述过程可以实现信息加密,但是效率比较低,因为非对称加密耗时较长,在实际应用中,数据在真正传输时是通过AES(对称加密算法)实现
RSA只是用于传输加密的AES密匙。在双方都知道了对称密匙后,就可以通过该密匙进行交流。