对称加密
加密算法 f1(k,data) = x
f(密钥,原始数据) = 加密数据
解密算法 f2(k,x) = data
f(密钥,加密数据) = 原始数据
服务器的密钥如果每个用户都有一个,那么一千万个用户就需要存储一千万个key,明显不利于服务器的存储;因此服务器的密钥一般只有一个,但是hacker也能拿到这个密钥,对数据进行解密,因此对称加密并不安全。
非对称加密
非对称加密+对称加密
非对称加密+对称加密+CA
公钥协商过程
- C→S 支持的SSL版本,非对称算法,随机数1
- S→C 就用SSL1.0,对称算法,随机数2,证书
- C 证书认证
- C→S 随机数3,hash(①②)=xx
- S hash(①②)==xx? f(随机数1、2、3) = k : 认证客户端失败
- S→C hash(①②④)=zz
- C hash(①②④)==zz? f(随机数1、2、3) = k : 认证服务端失败