对称加密:对明文的加密和解密都是同一个秘钥的方式就是对称加密。
非对称加密:对于明文,使用私钥加密(或者公钥加密),对端使用公钥解密(或者私钥解密),就是说,加密解密使用的是不同 的秘钥方式,称之为非对称加密。
一般的使用过程都是两者配合使用的,原因是,非对称加密虽然安全性更高,但是因为计算量大导致效率低下,所以我们使用非对称私钥对对称秘钥进行加密,然后使用对称秘钥对明文进行加密,对端使用非对称公钥对之前的对称秘钥进行解密,拿到对称秘钥对明文进行解密。既安全又高效。更复杂点的处理就是把明文进行hash算法的处理,形成一个剪短的摘要信息,把这个摘要信息也用非对称秘钥进行加密,对端使用非对称公钥对摘要进行解密,于之前拿到的明文用相同的hash算法处理之后的结果做一对比,如果相同则说明,这个明文在过程中没有被改动过,这个经过加密的摘要就是《数字签名》。
但是,这里边存在一个安全隐患,就是假如有人更换了你的公钥,截获你的报文,就可以得到一些机密信息,所以,一般情况下,本地的公钥获取方式需要改进,应运而生的就是《数字证书》,由一个公共机构管理,服务端可以把自己的公钥在此机构登记,改机构可以使用自己的公私钥对公私的公钥进行私钥加密,放给服务端,当客户请求时会发给客户一个该机构的公钥,等到服务端的消息(包含数字证书)过来的时候,先用该机构的公钥对数字证书进行解密,拿到之前注册的服务端的公钥,此时再重复之前的操作就足以保证数据的安全性。