参考资料:http://songlee24.github.io/2015/05/03/public-key-and-private-key/
简单总结:1、公钥加密(对称加密):解密密钥和加密密钥相同 常见的有AES和DES加密
私钥加密(非对称加密):解密密钥和加密密钥不相同
2、非对称加密要比对称加密效率可能高1-2个数量级 (因为不知道底层算法,所以不知道2个不同方式的加密算法的用时有什么不同) 常用的解决方案:发送方通过非对称加密算法把对称算法的密钥传递给接收方
3、安全传输和数字签名 (一个默认假设:自己的公钥可以被任何人获取到)
安全传输:
接收方生成一对公钥私钥,把公钥传给发送方,发送方通过公钥对数据进行加密传递,因为只有接受方有私钥,所以消息只有接收方可以解密,所以就保证了数据传输的安全
数字签名:
用私钥进行签名,用来验证发送方的身份并帮助保护数据的完整性 可以保证2点:1、因为发送方才有私钥,所以可以确保这个数据是自己签名发送的 2、因为有私钥自己持有,只要公钥能解密,就能保证这个数据是没有被其他人篡改